mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-02-22 19:05:05 +01:00
* Only store results in Pipeline when we're working on temporary queries - e.g. for the rest-API.
This commit is contained in:
parent
d0631bf75e
commit
3745cd247e
@ -306,9 +306,13 @@ Pipeline::reportResults( QID qid, const QList< result_ptr >& results )
|
||||
if ( !cleanResults.isEmpty() )
|
||||
{
|
||||
q->addResults( cleanResults );
|
||||
foreach ( const result_ptr& r, cleanResults )
|
||||
|
||||
if ( m_queries_temporary.contains( q ) )
|
||||
{
|
||||
m_rids.insert( r->id(), r );
|
||||
foreach ( const result_ptr& r, cleanResults )
|
||||
{
|
||||
m_rids.insert( r->id(), r );
|
||||
}
|
||||
}
|
||||
|
||||
if ( q->solved() && !q->isFullTextQuery() )
|
||||
@ -552,13 +556,31 @@ Pipeline::decQIDState( const Tomahawk::query_ptr& query )
|
||||
void
|
||||
Pipeline::onTemporaryQueryTimer()
|
||||
{
|
||||
QMutexLocker lock( &m_mut );
|
||||
tDebug() << Q_FUNC_INFO;
|
||||
|
||||
QMutexLocker lock( &m_mut );
|
||||
m_temporaryQueryTimer.stop();
|
||||
|
||||
for ( int i = m_queries_temporary.count() - 1; i >= 0; i-- )
|
||||
{
|
||||
query_ptr q = m_queries_temporary.takeAt( i );
|
||||
|
||||
m_qids.remove( q->id() );
|
||||
foreach ( const Tomahawk::result_ptr& r, q->results() )
|
||||
m_rids.remove( r->id() );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
query_ptr
|
||||
Pipeline::query( const QID& qid ) const
|
||||
{
|
||||
return m_qids.value( qid );
|
||||
}
|
||||
|
||||
|
||||
result_ptr
|
||||
Pipeline::result( const RID& rid ) const
|
||||
{
|
||||
return m_rids.value( rid );
|
||||
}
|
||||
|
@ -67,15 +67,8 @@ public:
|
||||
void addResolver( Resolver* r );
|
||||
void removeResolver( Resolver* r );
|
||||
|
||||
query_ptr query( const QID& qid ) const
|
||||
{
|
||||
return m_qids.value( qid );
|
||||
}
|
||||
|
||||
result_ptr result( const RID& rid ) const
|
||||
{
|
||||
return m_rids.value( rid );
|
||||
}
|
||||
query_ptr query( const QID& qid ) const;
|
||||
result_ptr result( const RID& rid ) const;
|
||||
|
||||
bool isResolving( const query_ptr& q ) const;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user