macOS: Deactivate any active tunnel when app exits

Signed-off-by: Roopesh Chander <roop@roopc.net>
This commit is contained in:
Roopesh Chander 2019-01-23 16:31:26 +05:30
parent 76527ef0f8
commit e5a76be6fd
2 changed files with 7 additions and 1 deletions

View File

@ -40,6 +40,12 @@ class AppDelegate: NSObject, NSApplicationDelegate {
self.statusItemController = statusItemController self.statusItemController = statusItemController
} }
} }
func applicationWillTerminate(_ notification: Notification) {
if let currentTunnel = tunnelsTracker?.currentTunnel {
tunnelsManager?.startDeactivation(of: currentTunnel)
}
}
} }
extension AppDelegate: StatusMenuWindowDelegate { extension AppDelegate: StatusMenuWindowDelegate {

View File

@ -16,7 +16,7 @@ class TunnelsTracker {
private var tunnelsManager: TunnelsManager private var tunnelsManager: TunnelsManager
private var tunnelStatusObservers = [AnyObject]() private var tunnelStatusObservers = [AnyObject]()
private var currentTunnel: TunnelContainer? { private(set) var currentTunnel: TunnelContainer? {
didSet { didSet {
statusMenu?.currentTunnel = currentTunnel statusMenu?.currentTunnel = currentTunnel
statusItemController?.currentTunnel = currentTunnel statusItemController?.currentTunnel = currentTunnel