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>2022-03-15 14:12:03 +0300
committerHannah von Reth <hannah.vonreth@owncloud.com>2022-03-15 14:12:03 +0300
commitfd95b7a4de7fd3e0d091d1a72bbfe1eee255205a (patch)
treef47d3616cfec439db5ee19d7ad8336a24c19f713 /src/gui/folderman.cpp
parent0dd2065bd8fff67f30521f67c37af1fc2f1fb861 (diff)
parentb35eec30325eb9933339e02e66640ca2082ade35 (diff)
Merge remote-tracking branch 'origin/2.10'
Diffstat (limited to 'src/gui/folderman.cpp')
-rw-r--r--src/gui/folderman.cpp56
1 files changed, 30 insertions, 26 deletions
diff --git a/src/gui/folderman.cpp b/src/gui/folderman.cpp
index d1af68ba8..e68dc1cbe 100644
--- a/src/gui/folderman.cpp
+++ b/src/gui/folderman.cpp
@@ -194,24 +194,26 @@ void FolderMan::unloadFolder(Folder *f)
{
Q_ASSERT(f);
+ _folderMap.remove(f->alias());
_socketApi->slotUnregisterPath(f->alias());
- _folderMap.remove(f->alias());
- disconnect(f, &Folder::syncStarted,
- this, &FolderMan::slotFolderSyncStarted);
- disconnect(f, &Folder::syncFinished,
- this, &FolderMan::slotFolderSyncFinished);
- disconnect(f, &Folder::syncStateChange,
- this, &FolderMan::slotForwardFolderSyncStateChange);
- disconnect(f, &Folder::syncPausedChanged,
- this, &FolderMan::slotFolderSyncPaused);
- disconnect(&f->syncEngine().syncFileStatusTracker(), &SyncFileStatusTracker::fileStatusChanged,
- _socketApi.data(), &SocketApi::broadcastStatusPushMessage);
- disconnect(f, &Folder::watchedFileChangedExternally,
- &f->syncEngine().syncFileStatusTracker(), &SyncFileStatusTracker::slotPathTouched);
+ if (!f->hasSetupError()) {
+ disconnect(f, &Folder::syncStarted,
+ this, &FolderMan::slotFolderSyncStarted);
+ disconnect(f, &Folder::syncFinished,
+ this, &FolderMan::slotFolderSyncFinished);
+ disconnect(f, &Folder::syncStateChange,
+ this, &FolderMan::slotForwardFolderSyncStateChange);
+ disconnect(f, &Folder::syncPausedChanged,
+ this, &FolderMan::slotFolderSyncPaused);
+ disconnect(&f->syncEngine().syncFileStatusTracker(), &SyncFileStatusTracker::fileStatusChanged,
+ _socketApi.data(), &SocketApi::broadcastStatusPushMessage);
+ disconnect(f, &Folder::watchedFileChangedExternally,
+ &f->syncEngine().syncFileStatusTracker(), &SyncFileStatusTracker::slotPathTouched);
- f->syncEngine().disconnect(f);
+ f->syncEngine().disconnect(f);
+ }
}
void FolderMan::unloadAndDeleteAllFolders()
@@ -1125,18 +1127,20 @@ Folder *FolderMan::addFolderInternal(
}
// See matching disconnects in unloadFolder().
- connect(folder, &Folder::syncStarted, this, &FolderMan::slotFolderSyncStarted);
- connect(folder, &Folder::syncFinished, this, &FolderMan::slotFolderSyncFinished);
- connect(folder, &Folder::syncStateChange, this, &FolderMan::slotForwardFolderSyncStateChange);
- connect(folder, &Folder::syncPausedChanged, this, &FolderMan::slotFolderSyncPaused);
- connect(folder, &Folder::canSyncChanged, this, &FolderMan::slotFolderCanSyncChanged);
- connect(&folder->syncEngine().syncFileStatusTracker(), &SyncFileStatusTracker::fileStatusChanged,
- _socketApi.data(), &SocketApi::broadcastStatusPushMessage);
- connect(folder, &Folder::watchedFileChangedExternally,
- &folder->syncEngine().syncFileStatusTracker(), &SyncFileStatusTracker::slotPathTouched);
-
- folder->registerFolderWatcher();
- registerFolderWithSocketApi(folder);
+ if (!folder->hasSetupError()) {
+ connect(folder, &Folder::syncStarted, this, &FolderMan::slotFolderSyncStarted);
+ connect(folder, &Folder::syncFinished, this, &FolderMan::slotFolderSyncFinished);
+ connect(folder, &Folder::syncStateChange, this, &FolderMan::slotForwardFolderSyncStateChange);
+ connect(folder, &Folder::syncPausedChanged, this, &FolderMan::slotFolderSyncPaused);
+ connect(folder, &Folder::canSyncChanged, this, &FolderMan::slotFolderCanSyncChanged);
+ connect(&folder->syncEngine().syncFileStatusTracker(), &SyncFileStatusTracker::fileStatusChanged,
+ _socketApi.data(), &SocketApi::broadcastStatusPushMessage);
+ connect(folder, &Folder::watchedFileChangedExternally,
+ &folder->syncEngine().syncFileStatusTracker(), &SyncFileStatusTracker::slotPathTouched);
+
+ folder->registerFolderWatcher();
+ registerFolderWithSocketApi(folder);
+ }
return folder;
}