mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-03-21 16:29:43 +01:00
TWK-722: Fix quitting right after startup by ensuring chart data loaders are deleted before database
This commit is contained in:
parent
3caeb4642a
commit
34672c7bed
@ -126,6 +126,10 @@ ViewManager::ViewManager( QObject* parent )
|
||||
ViewManager::~ViewManager()
|
||||
{
|
||||
saveCurrentPlaylistSettings();
|
||||
delete m_whatsHotWidget;
|
||||
delete m_welcomeWidget;
|
||||
delete m_topLovedWidget;
|
||||
delete m_contextWidget;
|
||||
delete m_widget;
|
||||
}
|
||||
|
||||
|
@ -108,6 +108,8 @@ WhatsHotWidget::WhatsHotWidget( QWidget* parent )
|
||||
|
||||
WhatsHotWidget::~WhatsHotWidget()
|
||||
{
|
||||
qDeleteAll( m_workers );
|
||||
m_workers.clear();
|
||||
m_workerThread->exit(0);
|
||||
m_playlistInterface.clear();
|
||||
delete ui;
|
||||
@ -485,6 +487,7 @@ WhatsHotWidget::chartArtistsLoaded( ChartDataLoader* loader, const QList< artist
|
||||
}
|
||||
}
|
||||
|
||||
m_workers.remove( loader );
|
||||
loader->deleteLater();
|
||||
}
|
||||
|
||||
@ -502,6 +505,7 @@ WhatsHotWidget::chartTracksLoaded( ChartDataLoader* loader, const QList< query_p
|
||||
m_trackModels[ chartId ]->append( tracks );
|
||||
}
|
||||
|
||||
m_workers.remove( loader );
|
||||
loader->deleteLater();
|
||||
}
|
||||
|
||||
@ -515,5 +519,6 @@ WhatsHotWidget::chartAlbumsLoaded( ChartDataLoader* loader, const QList< album_p
|
||||
if ( m_albumModels.contains( chartId ) )
|
||||
m_albumModels[ chartId ]->addAlbums( albums );
|
||||
|
||||
m_workers.remove( loader );
|
||||
loader->deleteLater();
|
||||
}
|
||||
|
@ -49,6 +49,7 @@ namespace Tomahawk
|
||||
{
|
||||
class ChartDataLoader;
|
||||
class ChartsPlaylistInterface;
|
||||
class ChartDataLoader;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -110,6 +111,7 @@ private:
|
||||
// {Artist,Album,Track}::get() calls are all synchronous db calls
|
||||
// and we don't want to lock up out UI in case the db is busy (e.g. on startup)
|
||||
QThread* m_workerThread;
|
||||
QSet< Tomahawk::ChartDataLoader* > m_workers;
|
||||
|
||||
// Cache our model data
|
||||
QHash< QString, AlbumModel* > m_albumModels;
|
||||
|
Loading…
x
Reference in New Issue
Block a user