mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-01 03:40:16 +02:00
* Guard pipeline against dupe queries.
This commit is contained in:
@@ -116,11 +116,13 @@ Pipeline::resolve( const QList<query_ptr>& qlist, bool prioritized, bool tempora
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
foreach( const query_ptr& q, qlist )
|
foreach( const query_ptr& q, qlist )
|
||||||
{
|
{
|
||||||
if ( !m_qids.contains( q->id() ) )
|
|
||||||
m_qids.insert( q->id(), q );
|
|
||||||
|
|
||||||
if ( m_queries_pending.contains( q ) )
|
if ( m_queries_pending.contains( q ) )
|
||||||
continue;
|
continue;
|
||||||
|
if ( m_qidsState.contains( q->id() ) )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if ( !m_qids.contains( q->id() ) )
|
||||||
|
m_qids.insert( q->id(), q );
|
||||||
|
|
||||||
if ( prioritized )
|
if ( prioritized )
|
||||||
m_queries_pending.insert( i++, q );
|
m_queries_pending.insert( i++, q );
|
||||||
|
@@ -176,6 +176,8 @@ Query::onResolvingFinished()
|
|||||||
if ( !m_resolveFinished )
|
if ( !m_resolveFinished )
|
||||||
{
|
{
|
||||||
m_resolveFinished = true;
|
m_resolveFinished = true;
|
||||||
|
m_resolvers.clear();
|
||||||
|
|
||||||
emit resolvingFinished( m_solved );
|
emit resolvingFinished( m_solved );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user