From d74ec4dfb0495380d376bf78d68107febb53e5f7 Mon Sep 17 00:00:00 2001 From: Mitternacht822 Date: Wed, 14 May 2025 23:29:11 +0400 Subject: [PATCH] fixed the bug when split tunneling was not preserving after backup for Windows and Android platforms --- client/ui/controllers/settingsController.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/client/ui/controllers/settingsController.cpp b/client/ui/controllers/settingsController.cpp index c5c569db..4f12f513 100644 --- a/client/ui/controllers/settingsController.cpp +++ b/client/ui/controllers/settingsController.cpp @@ -140,9 +140,18 @@ void SettingsController::restoreAppConfigFromData(const QByteArray &data) { bool ok = m_settings->restoreAppConfig(data); if (ok) { + QJsonObject new_config_data = QJsonDocument::fromJson(data).object(); + m_serversModel->resetModel(); m_languageModel->changeLanguage( static_cast(m_languageModel->getCurrentLanguageIndex())); + +#if defined(Q_OS_WINDOWS) || defined(Q_OS_ANDROID) + bool appSplittunnelingEnabled = new_config_data.value("Conf/appsSplitTunnelingEnabled").toBool(); + m_appSplitTunnelingModel->toggleSplitTunneling(appSplittunnelingEnabled); + bool siteSplittunnelingEnabled = new_config_data.value("Conf/sitesSplitTunnelingEnabled").toBool(); + m_sitesModel->toggleSplitTunneling(siteSplittunnelingEnabled); +#endif emit restoreBackupFinished(); } else { emit changeSettingsErrorOccurred(tr("Backup file is corrupted"));