summaryrefslogtreecommitdiffstats
path: root/common/pipeline.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2015-10-08 19:26:38 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2015-10-10 10:40:01 +0200
commit96608eb0a67601c9f1e88c630bd968c649fd7fc3 (patch)
tree6dcdcbbd699e365a0dbca8efc1bf913195000db6 /common/pipeline.cpp
parent745fb186eeb0c398a5ebf308fe5ee89cf7644869 (diff)
downloadsink-96608eb0a67601c9f1e88c630bd968c649fd7fc3.tar.gz
sink-96608eb0a67601c9f1e88c630bd968c649fd7fc3.zip
Only emit the revision update once the batch is committed.
Diffstat (limited to 'common/pipeline.cpp')
-rw-r--r--common/pipeline.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/common/pipeline.cpp b/common/pipeline.cpp
index 93a79f5..38029a3 100644
--- a/common/pipeline.cpp
+++ b/common/pipeline.cpp
@@ -100,10 +100,12 @@ void Pipeline::startTransaction()
100 100
101void Pipeline::commit() 101void Pipeline::commit()
102{ 102{
103 const auto revision = Akonadi2::Storage::maxRevision(d->transaction);
103 if (d->transaction) { 104 if (d->transaction) {
104 d->transaction.commit(); 105 d->transaction.commit();
105 } 106 }
106 d->transaction = Storage::Transaction(); 107 d->transaction = Storage::Transaction();
108 emit revisionUpdated(revision);
107} 109}
108 110
109Storage::Transaction &Pipeline::transaction() 111Storage::Transaction &Pipeline::transaction()
@@ -387,9 +389,6 @@ void Pipeline::pipelineCompleted(PipelineState state)
387 } 389 }
388 state.callback(); 390 state.callback();
389 391
390 if (state.type() != NullPipeline) {
391 emit revisionUpdated(state.revision());
392 }
393 scheduleStep(); 392 scheduleStep();
394 if (d->activePipelines.isEmpty()) { 393 if (d->activePipelines.isEmpty()) {
395 emit pipelinesDrained(); 394 emit pipelinesDrained();