diff --git a/src/tomahawk/sourcetree/items/CollectionItem.cpp b/src/tomahawk/sourcetree/items/CollectionItem.cpp index e83bc1f2d..1b6906583 100644 --- a/src/tomahawk/sourcetree/items/CollectionItem.cpp +++ b/src/tomahawk/sourcetree/items/CollectionItem.cpp @@ -33,6 +33,7 @@ CollectionItem::CollectionItem( SourcesModel* model, SourceTreeItem* parent, con : SourceTreeItem( model, parent, SourcesModel::Collection ) , m_sortValue( -150 ) , m_collection( collection ) + , m_page( nullptr ) { m_text = tr( "Collection" ); m_icon = ImageRegistry::instance()->icon( RESPATH "images/collection.svg" ); @@ -81,6 +82,6 @@ CollectionItem::trackCount() const void CollectionItem::activate() { - Tomahawk::ViewPage* page = ViewManager::instance()->show( m_collection ); - model()->linkSourceItemToPage( this, page ); + m_page = ViewManager::instance()->show( m_collection ); + model()->linkSourceItemToPage( this, m_page ); } diff --git a/src/tomahawk/sourcetree/items/CollectionItem.h b/src/tomahawk/sourcetree/items/CollectionItem.h index dfd2c874b..73f427380 100644 --- a/src/tomahawk/sourcetree/items/CollectionItem.h +++ b/src/tomahawk/sourcetree/items/CollectionItem.h @@ -45,6 +45,12 @@ private: QIcon m_icon; QString m_text; Tomahawk::collection_ptr m_collection; + + /** + * Reference to the ViewPage for the collection. Until the page is loaded + * once on user request, this will be nullptr. + */ + Tomahawk::ViewPage* m_page; }; #endif // COLLECTIONITEM_H