]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
UI: When setting on-demand, avoid a second saveToPreferences() call
authorRoopesh Chander <roop@roopc.net>
Tue, 3 Aug 2021 11:03:59 +0000 (16:33 +0530)
committerRoopesh Chander <roop@roopc.net>
Tue, 3 Aug 2021 11:04:57 +0000 (16:34 +0530)
Signed-off-by: Roopesh Chander <roop@roopc.net>
Sources/WireGuardApp/Tunnel/TunnelsManager.swift

index 20bd1cad508162368997a39f1cc8278c0e689c98..c6d4f2dead42a6d27996b72b7971345b7d7770d8 100644 (file)
@@ -350,6 +350,7 @@ class TunnelsManager {
         }
         let isActivatingOnDemand = !tunnelProviderManager.isOnDemandEnabled && isOnDemandEnabled
         tunnelProviderManager.isOnDemandEnabled = isOnDemandEnabled
+        tunnelProviderManager.isEnabled = true
         tunnelProviderManager.saveToPreferences { error in
             if let error = error {
                 wg_log(.error, message: "Modify On-Demand: Saving configuration failed: \(error)")
@@ -367,20 +368,7 @@ class TunnelsManager {
                         completionHandler(TunnelsManagerError.systemErrorOnModifyTunnel(systemError: error))
                         return
                     }
-                    if !tunnelProviderManager.isEnabled {
-                        // In case the tunnel has gotten disabled, re-enable and save it.
-                        wg_log(.debug, staticMessage: "Modify On-Demand: Tunnel is disabled. Re-enabling and saving")
-                        tunnelProviderManager.isEnabled = true
-                        tunnelProviderManager.saveToPreferences { error in
-                            if let error = error {
-                                wg_log(.error, message: "Modify On-Demand: Error saving tunnel after re-enabling: \(error)")
-                                completionHandler(TunnelsManagerError.systemErrorOnModifyTunnel(systemError: error))
-                                return
-                            }
-                        }
-                    } else {
-                        completionHandler(nil)
-                    }
+                    completionHandler(nil)
                 }
             } else {
                 completionHandler(nil)