diff --git a/src/sourcetree/SourcesModel.cpp b/src/sourcetree/SourcesModel.cpp index ae3a8c18a..6dfb0696d 100644 --- a/src/sourcetree/SourcesModel.cpp +++ b/src/sourcetree/SourcesModel.cpp @@ -537,7 +537,6 @@ SourcesModel::onScriptCollectionRemoved( const collection_ptr& collection ) m_cloudGroup->removeChild( item ); endRemoveRows(); - dynamic_cast< QObject* >( m_scriptCollectionPages.value( collection ) )->deleteLater(); m_scriptCollectionPages.remove( collection ); m_scriptCollections.remove( collection ); item->deleteLater(); @@ -547,7 +546,7 @@ SourcesModel::onScriptCollectionRemoved( const collection_ptr& collection ) ViewPage* SourcesModel::scriptCollectionClicked( const Tomahawk::collection_ptr& collection ) { - m_scriptCollectionPages[ collection ] = ViewManager::instance()->show( collection ); + m_scriptCollectionPages.insert( collection, ViewManager::instance()->show( collection ) ); return m_scriptCollectionPages[ collection ]; } diff --git a/src/sourcetree/items/ScriptCollectionItem.cpp b/src/sourcetree/items/ScriptCollectionItem.cpp index 52162bdc6..c686340f9 100644 --- a/src/sourcetree/items/ScriptCollectionItem.cpp +++ b/src/sourcetree/items/ScriptCollectionItem.cpp @@ -33,6 +33,8 @@ ScriptCollectionItem::ScriptCollectionItem( SourcesModel* model, ScriptCollectionItem::~ScriptCollectionItem() { model()->removeSourceItemLink( this ); + ViewManager::instance()->destroyPage( m_page ); + dynamic_cast< QObject* >( m_page )->deleteLater(); }