diff --git a/src/libsync/owncloudpropagator.h b/src/libsync/owncloudpropagator.h index 402226bdc9..9655e1ac49 100644 --- a/src/libsync/owncloudpropagator.h +++ b/src/libsync/owncloudpropagator.h @@ -445,7 +445,9 @@ public: void abort() { - _abortRequested.fetchAndStoreOrdered(true); + bool alreadyAborting = _abortRequested.fetchAndStoreOrdered(true); + if (alreadyAborting) + return; if (_rootJob) { // Connect to abortFinished which signals that abort has been asynchronously finished connect(_rootJob.data(), &PropagateDirectory::abortFinished, this, &OwncloudPropagator::emitFinished);