1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-23 22:25:11 +02:00

Properly remove ScriptCollection ViewPages to prevent crash.

This commit is contained in:
Teo Mrnjavac
2013-03-02 20:41:09 +01:00
parent b18fac950b
commit c4fbcdfcbc
2 changed files with 3 additions and 2 deletions

View File

@@ -537,7 +537,6 @@ SourcesModel::onScriptCollectionRemoved( const collection_ptr& collection )
m_cloudGroup->removeChild( item ); m_cloudGroup->removeChild( item );
endRemoveRows(); endRemoveRows();
dynamic_cast< QObject* >( m_scriptCollectionPages.value( collection ) )->deleteLater();
m_scriptCollectionPages.remove( collection ); m_scriptCollectionPages.remove( collection );
m_scriptCollections.remove( collection ); m_scriptCollections.remove( collection );
item->deleteLater(); item->deleteLater();
@@ -547,7 +546,7 @@ SourcesModel::onScriptCollectionRemoved( const collection_ptr& collection )
ViewPage* ViewPage*
SourcesModel::scriptCollectionClicked( const Tomahawk::collection_ptr& collection ) 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 ]; return m_scriptCollectionPages[ collection ];
} }

View File

@@ -33,6 +33,8 @@ ScriptCollectionItem::ScriptCollectionItem( SourcesModel* model,
ScriptCollectionItem::~ScriptCollectionItem() ScriptCollectionItem::~ScriptCollectionItem()
{ {
model()->removeSourceItemLink( this ); model()->removeSourceItemLink( this );
ViewManager::instance()->destroyPage( m_page );
dynamic_cast< QObject* >( m_page )->deleteLater();
} }