diff --git a/src/libtomahawk/database/Database.cpp b/src/libtomahawk/database/Database.cpp index 4139a088d..135705d65 100644 --- a/src/libtomahawk/database/Database.cpp +++ b/src/libtomahawk/database/Database.cpp @@ -42,7 +42,7 @@ Database::Database( const QString& dbname, QObject* parent ) : QObject( parent ) , m_ready( false ) , m_impl( new DatabaseImpl( dbname ) ) - , m_workerRW( new DatabaseWorker( this ) ) + , m_workerRW( new DatabaseWorker( this, true ) ) { s_instance = this; @@ -100,7 +100,7 @@ Database::enqueue( const QSharedPointer& lc ) // create new thread if < WORKER_THREADS if ( m_workers.count() < m_maxConcurrentThreads ) { - DatabaseWorker* worker = new DatabaseWorker( this ); + DatabaseWorker* worker = new DatabaseWorker( this, false ); worker->start(); m_workers << worker; diff --git a/src/libtomahawk/database/DatabaseWorker.cpp b/src/libtomahawk/database/DatabaseWorker.cpp index 8ccf31737..9711c62dd 100644 --- a/src/libtomahawk/database/DatabaseWorker.cpp +++ b/src/libtomahawk/database/DatabaseWorker.cpp @@ -34,11 +34,14 @@ //#define DEBUG_TIMING TRUE #endif -DatabaseWorker::DatabaseWorker( Database* db ) +DatabaseWorker::DatabaseWorker( Database* db, bool mutates ) : QThread() , m_db( db ) , m_outstanding( 0 ) { + Q_UNUSED( db ); + Q_UNUSED( mutates ); + moveToThread( this ); qDebug() << "CTOR DatabaseWorker" << this->thread(); diff --git a/src/libtomahawk/database/DatabaseWorker.h b/src/libtomahawk/database/DatabaseWorker.h index a23fc908c..90c7d5d12 100644 --- a/src/libtomahawk/database/DatabaseWorker.h +++ b/src/libtomahawk/database/DatabaseWorker.h @@ -39,7 +39,7 @@ class DatabaseWorker : public QThread Q_OBJECT public: - DatabaseWorker( Database* ); + DatabaseWorker( Database*, bool mutates ); ~DatabaseWorker(); bool busy() const { return m_outstanding > 0; }