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 han= dled 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/965512d09155770a6ae10a9b28775b4e9fb45= e22 diff --git a/agents/nepomukfeeder/feederqueue.cpp b/agents/nepomukfeeder/fe= ederqueue.cpp index baf3352..0bb564a 100644 --- a/agents/nepomukfeeder/feederqueue.cpp +++ b/agents/nepomukfeeder/feederqueue.cpp @@ -134,8 +134,7 @@ void FeederQueue::processNextCollection() = ItemFetchJob *itemFetch =3D new ItemFetchJob( mCurrentCollection, this ); itemFetch->fetchScope().setCacheOnly( true ); - connect( itemFetch, SIGNAL(itemsReceived(Akonadi::Item::List)), SLOT( it= emHeadersReceived(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 =3D qobject_cast(job); + Q_ASSERT(fetchJob); + itemHeadersReceived(fetchJob->items()); + --mPendingJobs; if ( mPendingJobs =3D=3D 0 && lowPrioQueue.isEmpty() ) { //Fetch jobs fi= nished but there were no items in the collection mCurrentCollection =3D Collection(); diff --git a/agents/nepomukfeeder/feederqueue.h b/agents/nepomukfeeder/feed= erqueue.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;