mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-04-08 18:12:41 +02:00
* Don't crash when removing page in history.
This commit is contained in:
parent
7f5c78ec9f
commit
faadb41054
@ -571,7 +571,7 @@ ViewManager::historyBack()
|
||||
return;
|
||||
|
||||
ViewPage* page = m_pageHistoryBack.takeLast();
|
||||
|
||||
|
||||
if ( m_currentPage )
|
||||
{
|
||||
m_pageHistoryFwd << m_currentPage;
|
||||
@ -590,7 +590,7 @@ ViewManager::historyForward()
|
||||
return;
|
||||
|
||||
ViewPage* page = m_pageHistoryFwd.takeLast();
|
||||
|
||||
|
||||
if ( m_currentPage )
|
||||
{
|
||||
m_pageHistoryBack << m_currentPage;
|
||||
@ -616,14 +616,7 @@ ViewManager::destroyPage( ViewPage* page )
|
||||
return;
|
||||
|
||||
tDebug() << Q_FUNC_INFO << "Deleting page:" << page->title();
|
||||
if ( m_currentPage == page )
|
||||
{
|
||||
delete page;
|
||||
m_currentPage = 0;
|
||||
|
||||
historyBack();
|
||||
}
|
||||
else if ( historyPages().contains( page ) )
|
||||
if ( historyPages().contains( page ) )
|
||||
{
|
||||
m_pageHistoryBack.removeAll( page );
|
||||
m_pageHistoryFwd.removeAll( page );
|
||||
@ -633,6 +626,13 @@ ViewManager::destroyPage( ViewPage* page )
|
||||
|
||||
delete page;
|
||||
}
|
||||
|
||||
if ( m_currentPage == page )
|
||||
{
|
||||
m_currentPage = 0;
|
||||
|
||||
historyBack();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -868,7 +868,7 @@ ViewManager::onWidgetDestroyed( QWidget* widget )
|
||||
{
|
||||
m_dynamicWidgets.remove( dynamicPlaylistForInterface( page->playlistInterface() ) );
|
||||
}
|
||||
|
||||
|
||||
m_pageHistoryBack.removeAll( page );
|
||||
m_pageHistoryFwd.removeAll( page );
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user