[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/multimedia/amarok/src/collection
From:       Maximilian Kossick <maximilian.kossick () googlemail ! com>
Date:       2007-05-06 12:00:58
Message-ID: 1178452858.106699.22637.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 661694 by mkossick:

actually connect the Job::done signal instead of just trying to

 M  +6 -6      sqlcollection/sqlquerybuilder.cpp  
 M  +4 -2      sqlcollection/sqlquerybuilder.h  
 M  +6 -7      support/memoryquerymaker.cpp  
 M  +3 -2      support/memoryquerymaker.h  


--- trunk/extragear/multimedia/amarok/src/collection/sqlcollection/sqlquerybuilder.cpp #661693:661694
@@ -27,7 +27,7 @@
 #include <threadweaver/Job.h>
 #include <threadweaver/ThreadWeaver.h>
 
-class SqlWorkerThread : public ThreadWeaver::Job
+class SqlWorkerThread : public Job
 {
     public:
         SqlWorkerThread( SqlQueryBuilder *queryMaker )
@@ -35,7 +35,6 @@
             , m_queryMaker( queryMaker )
             , m_aborted( false )
         {
-            DEBUG_BLOCK
             //nothing to do
         }
 
@@ -145,16 +144,17 @@
     {
         debug() << "Query is " << query() << endl;
         d->worker = new SqlWorkerThread( this );
-        connect( d->worker, SIGNAL( done( ThreadWeaver::Job* ) ), SLOT( done( ThreadWeaver::Job* ) ) );
+        connect( d->worker, SIGNAL( done( Job* ) ), SLOT( done( Job* ) ) );
         ThreadWeaver::Weaver::instance()->enqueue( d->worker );
     }
 }
 
 void
-SqlQueryBuilder::done( ThreadWeaver::Job *job )
+SqlQueryBuilder::done( Job *job )
 {
-    ThreadWeaver::Weaver::instance()->dequeue( job );
-    delete d->worker;
+    Weaver::instance()->dequeue( job );
+    job->deleteLater();
+    d->worker = 0;
     emit queryDone();
 }
 
--- trunk/extragear/multimedia/amarok/src/collection/sqlcollection/sqlquerybuilder.h #661693:661694
@@ -24,6 +24,8 @@
 
 #include <threadweaver/Job.h>
 
+using namespace ThreadWeaver;
+
 class SqlCollection;
 
 class SqlQueryBuilder : public QueryMaker
@@ -75,8 +77,8 @@
         virtual QString escape( QString text ) const;
         virtual QString likeCondition( const QString &text, bool anyBegin, bool anyEnd ) const;
 
-    private slots:
-        void done( ThreadWeaver::Job * job );
+    public slots:
+        void done( Job * job );
 
     private:
 
--- trunk/extragear/multimedia/amarok/src/collection/support/memoryquerymaker.cpp #661693:661694
@@ -144,11 +144,11 @@
 
 //QueryJob
 
-class QueryJob : public ThreadWeaver::Job
+class QueryJob : public Job
 {
     public:
         QueryJob( MemoryQueryMaker *qm )
-            : ThreadWeaver::Job()
+            : Job()
             , m_queryMaker( qm )
         {
             //nothing to do
@@ -215,7 +215,7 @@
     else
     {
         d->job = new QueryJob( this );
-        connect( d->job, SIGNAL( done( ThreadWeaver::Job* ) ), SLOT( done( ThreadWeaver::Job* ) ) );
+        connect( d->job, SIGNAL( done( Job * ) ), SLOT( done( Job * ) ) );
         ThreadWeaver::Weaver::instance()->enqueue( d->job );
     }
 }
@@ -293,7 +293,6 @@
             //nothing to do
             break;
     }
-    emit queryDone();
 }
 
 void
@@ -352,7 +351,6 @@
             //should never happen, but handle error anyway
             break;
     }
-    emit queryDone();
 }
 
 QueryMaker*
@@ -535,10 +533,11 @@
 }
 
 void
-MemoryQueryMaker::done( ThreadWeaver::Job *job )
+MemoryQueryMaker::done( Job *job )
 {
     ThreadWeaver::Weaver::instance()->dequeue( job );
-    delete d->job;
+    job->deleteLater();
+    d->job = 0;
     emit queryDone();
 }
 
--- trunk/extragear/multimedia/amarok/src/collection/support/memoryquerymaker.h #661693:661694
@@ -25,6 +25,7 @@
 #include <threadweaver/Job.h>
 
 using namespace Meta;
+using namespace ThreadWeaver;
 
 class MemoryQueryMaker : public QueryMaker
 {
@@ -70,8 +71,8 @@
         void handleResult();
         void handleResult( const TrackList &tracks );
 
-    protected slots:
-        void done( ThreadWeaver::Job *job );
+    private slots:
+        void done( Job * job );
 
     protected:
         MemoryCollection *m_memCollection;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic