diff options
author | Hannah von Reth <hannah.vonreth@owncloud.com> | 2021-10-05 12:45:30 +0300 |
---|---|---|
committer | Hannah von Reth <vonreth@kde.org> | 2021-10-06 12:17:25 +0300 |
commit | 2a06b5901650d23eba75f211d5a4cf5d3522ad7c (patch) | |
tree | fc88bb48e34410edc53fb6027151e54d70381c93 /src/gui/folder.cpp | |
parent | be064b999249f13be3c299c692938b5742a46b50 (diff) |
Prevent downgrade of Windows VFS folders
Diffstat (limited to 'src/gui/folder.cpp')
-rw-r--r-- | src/gui/folder.cpp | 11 |
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()) |