diff --git a/src/libtomahawk/Query.cpp b/src/libtomahawk/Query.cpp index 8f67295c8..fab1d01f0 100644 --- a/src/libtomahawk/Query.cpp +++ b/src/libtomahawk/Query.cpp @@ -293,13 +293,17 @@ void Query::clearResults() { Q_D( Query ); + + d->solved = false; + d->playable = false; + { QMutexLocker lock( &d->mutex ); d->results.clear(); } - d->solved = false; - d->playable = false; + emit playableStateChanged( false ); + emit solvedStateChanged( false ); emit resultsChanged(); } @@ -525,15 +529,18 @@ Query::checkResults() { refreshResults(); } - if ( d->playable != playable ) + else { - d->playable = playable; - emit playableStateChanged( d->playable ); - } - if ( d->solved != solved ) - { - d->solved = solved; - emit solvedStateChanged( d->solved ); + if ( d->playable != playable ) + { + d->playable = playable; + emit playableStateChanged( d->playable ); + } + if ( d->solved != solved ) + { + d->solved = solved; + emit solvedStateChanged( d->solved ); + } } }