From: Roopesh Chander Date: Tue, 22 Jan 2019 14:00:06 +0000 (+0530) Subject: macOS: Tunnel edit: Handle deletion outside app X-Git-Tag: 0.0.20190207-1~66 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9f362e8cb0c4cdecd5a1002dca50020bd7db29fe;p=thirdparty%2Fwireguard-apple.git macOS: Tunnel edit: Handle deletion outside app Signed-off-by: Roopesh Chander --- diff --git a/WireGuard/WireGuard/UI/macOS/ViewController/TunnelDetailTableViewController.swift b/WireGuard/WireGuard/UI/macOS/ViewController/TunnelDetailTableViewController.swift index 70085d7..546d1c1 100644 --- a/WireGuard/WireGuard/UI/macOS/ViewController/TunnelDetailTableViewController.swift +++ b/WireGuard/WireGuard/UI/macOS/ViewController/TunnelDetailTableViewController.swift @@ -84,6 +84,7 @@ class TunnelDetailTableViewController: NSViewController { } private var tableViewModelRows = [TableViewModelRow]() private var statusObservationToken: AnyObject? + private var tunnelEditVC: TunnelEditViewController? init(tunnelsManager: TunnelsManager, tunnel: TunnelContainer) { self.tunnelsManager = tunnelsManager @@ -201,6 +202,7 @@ class TunnelDetailTableViewController: NSViewController { let tunnelEditVC = TunnelEditViewController(tunnelsManager: tunnelsManager, tunnel: tunnel) tunnelEditVC.delegate = self presentAsSheet(tunnelEditVC) + self.tunnelEditVC = tunnelEditVC } @objc func handleToggleActiveStatusAction() { @@ -219,6 +221,13 @@ class TunnelDetailTableViewController: NSViewController { tunnelsManager.startDeactivation(of: tunnel) } } + + override func viewWillDisappear() { + super.viewWillDisappear() + if let tunnelEditVC = tunnelEditVC { + dismiss(tunnelEditVC) + } + } } extension TunnelDetailTableViewController: NSTableViewDataSource { @@ -264,6 +273,6 @@ extension TunnelDetailTableViewController: TunnelEditViewControllerDelegate { } func tunnelEditingCancelled() { - // Nothing to do + self.tunnelEditVC = nil } }