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:
@@ -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 ];
|
||||
}
|
||||
|
||||
|
@@ -33,6 +33,8 @@ ScriptCollectionItem::ScriptCollectionItem( SourcesModel* model,
|
||||
ScriptCollectionItem::~ScriptCollectionItem()
|
||||
{
|
||||
model()->removeSourceItemLink( this );
|
||||
ViewManager::instance()->destroyPage( m_page );
|
||||
dynamic_cast< QObject* >( m_page )->deleteLater();
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user