From 2185b3ae5a34ff0839c5f9f21b3539780d1c19cf Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Fri, 24 May 2013 16:26:09 +0200 Subject: [PATCH] Fix loading of playlist updaters. --- src/libtomahawk/collection/Collection.cpp | 16 +++++++++++++++- src/libtomahawk/collection/Collection.h | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/collection/Collection.cpp b/src/libtomahawk/collection/Collection.cpp index 693b6049f..520970f3c 100644 --- a/src/libtomahawk/collection/Collection.cpp +++ b/src/libtomahawk/collection/Collection.cpp @@ -24,6 +24,7 @@ #include "utils/Logger.h" #include "playlist/PlaylistUpdaterInterface.h" #include "utils/ImageRegistry.h" +#include "accounts/AccountManager.h" #include #include @@ -231,12 +232,25 @@ Collection::setPlaylists( const QList& plists ) // qDebug() << "Batch inserting playlist:" << p->guid(); m_playlists.insert( p->guid(), p ); if ( !m_source.isNull() && m_source->isLocal() ) - PlaylistUpdaterInterface::loadForPlaylist( p ); + { + if ( Tomahawk::Accounts::AccountManager::instance()->isReady() ) + doLoadPlaylistUpdater( p ); + else + NewClosure( Tomahawk::Accounts::AccountManager::instance(), SIGNAL( ready() ), + this, SLOT( doLoadPlaylistUpdater( playlist_ptr ) ), p ); + } } emit playlistsAdded( plists ); } +void +Collection::doLoadPlaylistUpdater( const playlist_ptr& p ) +{ + PlaylistUpdaterInterface::loadForPlaylist( p ); +} + + void Collection::setAutoPlaylists( const QList< Tomahawk::dynplaylist_ptr >& plists ) { diff --git a/src/libtomahawk/collection/Collection.h b/src/libtomahawk/collection/Collection.h index 574dce637..0fa2b52bc 100644 --- a/src/libtomahawk/collection/Collection.h +++ b/src/libtomahawk/collection/Collection.h @@ -129,6 +129,7 @@ protected: private slots: void onSynced(); + void doLoadPlaylistUpdater( const playlist_ptr& p ); private: bool m_changed;