mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-13 09:34:53 +02:00
* Fixed crash bug caused by multiple sources going on- and offline at a time.
This commit is contained in:
@@ -1,3 +1,6 @@
|
|||||||
|
Version 0.0.4:
|
||||||
|
* Fixed a crash situation caused by sources going on- or offline.
|
||||||
|
|
||||||
Version 0.0.3:
|
Version 0.0.3:
|
||||||
* Show spinner while resolving playlists.
|
* Show spinner while resolving playlists.
|
||||||
* Go back to previous page visible when deleting a playlist.
|
* Go back to previous page visible when deleting a playlist.
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
|
/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
|
||||||
*
|
*
|
||||||
* Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
|
* Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
|
||||||
*
|
*
|
||||||
* Tomahawk is free software: you can redistribute it and/or modify
|
* Tomahawk is free software: you can redistribute it and/or modify
|
||||||
@@ -89,10 +89,13 @@ Query::refreshResults()
|
|||||||
void
|
void
|
||||||
Query::onResultStatusChanged()
|
Query::onResultStatusChanged()
|
||||||
{
|
{
|
||||||
if ( m_results.count() )
|
{
|
||||||
qStableSort( m_results.begin(), m_results.end(), Query::resultSorter );
|
QMutexLocker lock( &m_mutex );
|
||||||
checkResults();
|
if ( m_results.count() )
|
||||||
|
qStableSort( m_results.begin(), m_results.end(), Query::resultSorter );
|
||||||
|
}
|
||||||
|
|
||||||
|
checkResults();
|
||||||
emit resultsChanged();
|
emit resultsChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -180,27 +183,31 @@ Query::checkResults()
|
|||||||
{
|
{
|
||||||
bool becameSolved = false;
|
bool becameSolved = false;
|
||||||
bool becameUnsolved = true;
|
bool becameUnsolved = true;
|
||||||
m_playable = false;
|
|
||||||
|
|
||||||
// hook up signals, and check solved status
|
|
||||||
foreach( const result_ptr& rp, m_results )
|
|
||||||
{
|
{
|
||||||
if ( rp->score() > 0.0 && rp->collection().isNull() )
|
QMutexLocker lock( &m_mutex );
|
||||||
{
|
|
||||||
m_playable = true;
|
|
||||||
}
|
|
||||||
if ( !rp->collection().isNull() && rp->collection()->source()->isOnline() )
|
|
||||||
{
|
|
||||||
m_playable = true;
|
|
||||||
|
|
||||||
if ( rp->score() > 0.99 )
|
m_playable = false;
|
||||||
|
|
||||||
|
// hook up signals, and check solved status
|
||||||
|
foreach( const result_ptr& rp, m_results )
|
||||||
|
{
|
||||||
|
if ( rp->score() > 0.0 && rp->collection().isNull() )
|
||||||
{
|
{
|
||||||
becameUnsolved = false;
|
m_playable = true;
|
||||||
|
}
|
||||||
|
if ( !rp->collection().isNull() && rp->collection()->source()->isOnline() )
|
||||||
|
{
|
||||||
|
m_playable = true;
|
||||||
|
|
||||||
if ( !m_solved )
|
if ( rp->score() > 0.99 )
|
||||||
{
|
{
|
||||||
m_solved = true;
|
becameUnsolved = false;
|
||||||
becameSolved = true;
|
|
||||||
|
if ( !m_solved )
|
||||||
|
{
|
||||||
|
m_solved = true;
|
||||||
|
becameSolved = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -226,7 +233,7 @@ Query::toVariant() const
|
|||||||
m.insert( "track", track() );
|
m.insert( "track", track() );
|
||||||
m.insert( "duration", duration() );
|
m.insert( "duration", duration() );
|
||||||
m.insert( "qid", id() );
|
m.insert( "qid", id() );
|
||||||
|
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user