]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
macOS: Deactivate any active tunnel when app exits
authorRoopesh Chander <roop@roopc.net>
Wed, 23 Jan 2019 11:01:26 +0000 (16:31 +0530)
committerRoopesh Chander <roop@roopc.net>
Wed, 23 Jan 2019 11:01:30 +0000 (16:31 +0530)
Signed-off-by: Roopesh Chander <roop@roopc.net>
WireGuard/WireGuard/UI/macOS/AppDelegate.swift
WireGuard/WireGuard/UI/macOS/TunnelsTracker.swift

index 76ac0008a6728656bf4afa746a39d1dd611b6a0b..5546eef193f07597b5a37bf3522cf969081fe190 100644 (file)
@@ -40,6 +40,12 @@ class AppDelegate: NSObject, NSApplicationDelegate {
             self.statusItemController = statusItemController
         }
     }
+
+    func applicationWillTerminate(_ notification: Notification) {
+        if let currentTunnel = tunnelsTracker?.currentTunnel {
+            tunnelsManager?.startDeactivation(of: currentTunnel)
+        }
+    }
 }
 
 extension AppDelegate: StatusMenuWindowDelegate {
index 3d29b02d144322c113178e1e97bc73c8e351585e..9c931869b42e97bb0d4a62c7aada501d3a2faab3 100644 (file)
@@ -16,7 +16,7 @@ class TunnelsTracker {
 
     private var tunnelsManager: TunnelsManager
     private var tunnelStatusObservers = [AnyObject]()
-    private var currentTunnel: TunnelContainer? {
+    private(set) var currentTunnel: TunnelContainer? {
         didSet {
             statusMenu?.currentTunnel = currentTunnel
             statusItemController?.currentTunnel = currentTunnel