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

List:       kde-commits
Subject:    [kdepim-runtime/KDE/4.8] agents/nepomukfeeder: itemsReceived may be called incrementally and after r
From:       Christian Mollekopf <chrigi_1 () fastmail ! fm>
Date:       2012-02-29 23:34:30
Message-ID: 20120229233430.E783EA60BB () git ! kde ! org
[Download RAW message or body]

Git commit 965512d09155770a6ae10a9b28775b4e9fb45e22 by Christian Mollekopf.
Committed on 18/02/2012 at 21:40.
Pushed by cmollekopf into branch 'KDE/4.8'.

itemsReceived may be called incrementally and after result. Both is not handled by \
the code. (cherry picked from commit 7036320cc413546e20d66185bef52910f452f0cf)

M  +5    -2    agents/nepomukfeeder/feederqueue.cpp
M  +1    -1    agents/nepomukfeeder/feederqueue.h

http://commits.kde.org/kdepim-runtime/965512d09155770a6ae10a9b28775b4e9fb45e22

diff --git a/agents/nepomukfeeder/feederqueue.cpp \
b/agents/nepomukfeeder/feederqueue.cpp index baf3352..0bb564a 100644
--- a/agents/nepomukfeeder/feederqueue.cpp
+++ b/agents/nepomukfeeder/feederqueue.cpp
@@ -134,8 +134,7 @@ void FeederQueue::processNextCollection()
 
   ItemFetchJob *itemFetch = new ItemFetchJob( mCurrentCollection, this );
   itemFetch->fetchScope().setCacheOnly( true );
-  connect( itemFetch, SIGNAL(itemsReceived(Akonadi::Item::List)), SLOT( \
                itemHeadersReceived(Akonadi::Item::List)) );
-  connect( itemFetch, SIGNAL(result(KJob*)), SLOT(itemFetchResult(KJob*)) );
+  connect( itemFetch, SIGNAL(finished(KJob*)), SLOT(itemFetchResult(KJob*)) );
   ++mPendingJobs;
 }
 
@@ -180,6 +179,10 @@ void FeederQueue::itemFetchResult(KJob* job)
   if ( job->error() )
     kWarning() << job->errorString();
 
+  Akonadi::ItemFetchJob *fetchJob = qobject_cast<Akonadi::ItemFetchJob *>(job);
+  Q_ASSERT(fetchJob);
+  itemHeadersReceived(fetchJob->items());
+
   --mPendingJobs;
   if ( mPendingJobs == 0 && lowPrioQueue.isEmpty() ) { //Fetch jobs finished but \
there were no items in the collection  mCurrentCollection = Collection();
diff --git a/agents/nepomukfeeder/feederqueue.h b/agents/nepomukfeeder/feederqueue.h
index 3f5da76..d5c43eb 100644
--- a/agents/nepomukfeeder/feederqueue.h
+++ b/agents/nepomukfeeder/feederqueue.h
@@ -158,13 +158,13 @@ signals:
   void running(QString);
   
 private slots:
-  void itemHeadersReceived( const Akonadi::Item::List &items );
   void itemFetchResult( KJob* job );
   void processItemQueue();
   void prioQueueFinished();
   void batchFinished();
   void jobResult( KJob* job );
 private:
+  void itemHeadersReceived( const Akonadi::Item::List &items );
   void continueIndexing(); //start the indexing if work is to be done
   void processNextCollection();
   int mTotalAmount, mProcessedAmount, mPendingJobs;


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

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