From 0dbe87e2f41f9ea0fa4867e0a63bb18ce05b3245 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 12 Sep 2011 13:52:54 +0200 Subject: [PATCH] * Don't update playlist revision with result hints if it's already out of date. --- src/libtomahawk/playlist.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/playlist.cpp b/src/libtomahawk/playlist.cpp index ac7a6f29b..1055250bf 100644 --- a/src/libtomahawk/playlist.cpp +++ b/src/libtomahawk/playlist.cpp @@ -372,6 +372,7 @@ Playlist::setRevision( const QString& rev, { // add initial tracks createNewRevision( uuid(), currentrevision(), m_initEntries ); + m_initEntries.clear(); } else emit revisionLoaded( pr ); @@ -491,7 +492,6 @@ Playlist::onResolvingFinished() { if ( m_locallyChanged ) { - qDebug() << Q_FUNC_INFO; m_locallyChanged = false; createNewRevision( currentrevision(), currentrevision(), m_entries ); } @@ -578,14 +578,19 @@ Playlist::setBusy( bool b ) emit changed(); } + void Playlist::checkRevisionQueue() { if ( !m_revisionQueue.isEmpty() ) { RevisionQueueItem item = m_revisionQueue.dequeue(); + if ( item.oldRev != currentrevision() && item.applyToTip ) // this was applied to the then-latest, but the already-running operation changed it so it's out of date now. fix it { + if ( item.oldRev == item.newRev ) + return; + item.oldRev = currentrevision(); } createNewRevision( item.newRev, item.oldRev, item.entries );