Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHannah von Reth <hannah.vonreth@owncloud.com>2021-09-15 16:19:42 +0300
committerHannah von Reth <vonreth@kde.org>2021-09-15 16:45:15 +0300
commitc0b4c4817cfd858d9a59bb67e4a65a532c1fdfe3 (patch)
tree91487f0dfa9e7ba7c1463653cf0aeb18a0f043cd /src/libsync
parent9c4058ac39f02291641a102fa8ab0c977bb4d6a2 (diff)
Fix crash on shutdown
Fixes: #9014
Diffstat (limited to 'src/libsync')
-rw-r--r--src/libsync/syncengine.cpp5
-rw-r--r--src/libsync/syncengine.h3
2 files changed, 7 insertions, 1 deletions
diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp
index 128573f82..ec6b2f564 100644
--- a/src/libsync/syncengine.cpp
+++ b/src/libsync/syncengine.cpp
@@ -112,6 +112,7 @@ SyncEngine::SyncEngine(AccountPtr account, const QString &localPath,
SyncEngine::~SyncEngine()
{
+ _goingDown = true;
abort();
_excludedFiles.reset();
}
@@ -981,7 +982,9 @@ void SyncEngine::abort()
disconnect(_discoveryPhase.data(), nullptr, this, nullptr);
_discoveryPhase.take()->deleteLater();
- Q_EMIT syncError(tr("Aborted"));
+ if (!_goingDown) {
+ Q_EMIT syncError(tr("Aborted"));
+ }
finalize(false);
}
}
diff --git a/src/libsync/syncengine.h b/src/libsync/syncengine.h
index 4ffa04777..118aa888c 100644
--- a/src/libsync/syncengine.h
+++ b/src/libsync/syncengine.h
@@ -291,6 +291,9 @@ private:
LocalDiscoveryStyle _lastLocalDiscoveryStyle = LocalDiscoveryStyle::FilesystemOnly;
LocalDiscoveryStyle _localDiscoveryStyle = LocalDiscoveryStyle::FilesystemOnly;
std::set<QString> _localDiscoveryPaths;
+
+ // destructor called
+ bool _goingDown = false;
};
}