From acd2902aaecaba864c5673adead98e59222e0fc9 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Sun, 22 May 2016 14:15:26 +0200 Subject: Propagate the synchronization error. --- common/genericresource.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'common/genericresource.cpp') diff --git a/common/genericresource.cpp b/common/genericresource.cpp index 8704e5a..b32a22b 100644 --- a/common/genericresource.cpp +++ b/common/genericresource.cpp @@ -459,16 +459,20 @@ void GenericResource::processCommand(int commandId, const QByteArray &data) KAsync::Job GenericResource::synchronizeWithSource() { - return KAsync::start([this]() { + return KAsync::start([this](KAsync::Future &future) { Log() << " Synchronizing"; // Changereplay would deadlock otherwise when trying to open the synchronization store enableChangeReplay(false); auto mainStore = QSharedPointer::create(Sink::storageLocation(), mResourceInstanceIdentifier, Sink::Storage::ReadOnly); auto syncStore = QSharedPointer::create(Sink::storageLocation(), mResourceInstanceIdentifier + ".synchronization", Sink::Storage::ReadWrite); synchronizeWithSource(*mainStore, *syncStore) - .then([this, mainStore, syncStore]() { + .then([this, mainStore, syncStore, &future]() { Log() << "Done Synchronizing"; enableChangeReplay(true); + future.setFinished(); + }, [this, &future](int errorCode, const QString &error) { + enableChangeReplay(true); + future.setError(errorCode, error); }) .exec(); }); -- cgit v1.2.3