diff options
author | Hannah von Reth <hannah.vonreth@owncloud.com> | 2021-09-15 16:19:42 +0300 |
---|---|---|
committer | Hannah von Reth <vonreth@kde.org> | 2021-09-15 16:45:15 +0300 |
commit | c0b4c4817cfd858d9a59bb67e4a65a532c1fdfe3 (patch) | |
tree | 91487f0dfa9e7ba7c1463653cf0aeb18a0f043cd /src/libsync | |
parent | 9c4058ac39f02291641a102fa8ab0c977bb4d6a2 (diff) |
Fix crash on shutdown
Fixes: #9014
Diffstat (limited to 'src/libsync')
-rw-r--r-- | src/libsync/syncengine.cpp | 5 | ||||
-rw-r--r-- | src/libsync/syncengine.h | 3 |
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; }; } |