From 3f0fdb0e71d9ce53170618c6775e6f67cf4f3cb2 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 29 Aug 2014 14:15:24 +0200 Subject: [PATCH] * Prevent restoring queue too early. --- src/libtomahawk/playlist/QueueView.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/playlist/QueueView.cpp b/src/libtomahawk/playlist/QueueView.cpp index 5adcd17aa..55272b42d 100644 --- a/src/libtomahawk/playlist/QueueView.cpp +++ b/src/libtomahawk/playlist/QueueView.cpp @@ -25,6 +25,7 @@ #include "utils/Logger.h" #include "Pipeline.h" #include "Source.h" +#include "SourceList.h" #include "TomahawkSettings.h" #include "utils/TomahawkUtilsGui.h" @@ -52,12 +53,13 @@ QueueView::QueueView( QWidget* parent ) TrackItemDelegate* delegate = new TrackItemDelegate( TrackItemDelegate::LovedTracks, trackView(), trackView()->proxyModel() ); trackView()->setPlaylistItemDelegate( delegate ); - if ( Pipeline::instance()->isRunning() ) + if ( Pipeline::instance()->isRunning() && SourceList::instance()->isReady() ) { restoreState(); } else { + connect( SourceList::instance(), SIGNAL( ready() ), SLOT( restoreState() ) ); connect( Pipeline::instance(), SIGNAL( running() ), SLOT( restoreState() ) ); } } @@ -73,6 +75,9 @@ QueueView::~QueueView() void QueueView::restoreState() { + if ( !Pipeline::instance()->isRunning() || !SourceList::instance()->isReady() ) + return; + QVariantList vl = TomahawkSettings::instance()->queueState().toList(); QList< query_ptr > ql;