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-10-05 12:45:30 +0300
committerHannah von Reth <vonreth@kde.org>2021-10-06 12:17:25 +0300
commit2a06b5901650d23eba75f211d5a4cf5d3522ad7c (patch)
treefc88bb48e34410edc53fb6027151e54d70381c93 /src/gui/folder.cpp
parentbe064b999249f13be3c299c692938b5742a46b50 (diff)
Prevent downgrade of Windows VFS folders
Diffstat (limited to 'src/gui/folder.cpp')
-rw-r--r--src/gui/folder.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp
index 31c11ebd9..b6c7afa4f 100644
--- a/src/gui/folder.cpp
+++ b/src/gui/folder.cpp
@@ -58,6 +58,9 @@ auto versionC()
{
return QStringLiteral("version");
}
+
+constexpr int WinVfsSettingsVersion = 4;
+constexpr int SettingsVersion = 2;
}
namespace OCC {
@@ -1309,11 +1312,9 @@ void FolderDefinition::save(QSettings &settings, const FolderDefinition &folder)
settings.setValue(QStringLiteral("virtualFilesMode"), Vfs::modeToString(folder.virtualFilesMode));
// Ensure new vfs modes won't be attempted by older clients
- if (folder.virtualFilesMode == Vfs::WindowsCfApi) {
- settings.setValue(versionC(), 3);
- } else {
- settings.setValue(versionC(), 2);
- }
+ const int version = folder.virtualFilesMode == Vfs::WindowsCfApi ? WinVfsSettingsVersion : SettingsVersion;
+ Q_ASSERT(version <= maxSettingsVersion());
+ settings.setValue(versionC(), version);
// Happens only on Windows when the explorer integration is enabled.
if (!folder.navigationPaneClsid.isNull())