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 );
|
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 ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user