aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuard/UI/macOS/AppDelegate.swift
diff options
context:
space:
mode:
authorRoopesh Chander <roop@roopc.net>2019-03-29 00:02:54 +0530
committerRoopesh Chander <roop@roopc.net>2019-03-29 00:17:37 +0530
commitdd9506eceeae1144078aa33cd55bf5bff8aa7dc7 (patch)
tree199567bdd78b7396a7dec5425a5a7d367ab2561c /WireGuard/WireGuard/UI/macOS/AppDelegate.swift
parentwireguard-go-bridge: update deps (diff)
downloadwireguard-apple-dd9506eceeae1144078aa33cd55bf5bff8aa7dc7.tar.xz
wireguard-apple-dd9506eceeae1144078aa33cd55bf5bff8aa7dc7.zip
macOS: If a sheet is being shown, ignore quit and bring window to front
Otherwise, the 'exiting with an active tunnel' alert could get queued up to be shown after the current sheet is dismissed. Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to '')
-rw-r--r--WireGuard/WireGuard/UI/macOS/AppDelegate.swift5
1 files changed, 5 insertions, 0 deletions
diff --git a/WireGuard/WireGuard/UI/macOS/AppDelegate.swift b/WireGuard/WireGuard/UI/macOS/AppDelegate.swift
index 1d6d294..990a379 100644
--- a/WireGuard/WireGuard/UI/macOS/AppDelegate.swift
+++ b/WireGuard/WireGuard/UI/macOS/AppDelegate.swift
@@ -44,6 +44,11 @@ class AppDelegate: NSObject, NSApplicationDelegate {
}
@objc func quit() {
+ if let manageWindow = manageTunnelsWindowObject, manageWindow.attachedSheet != nil {
+ NSApp.activate(ignoringOtherApps: true)
+ manageWindow.orderFront(self)
+ return
+ }
registerLoginItem(shouldLaunchAtLogin: false)
guard let currentTunnel = tunnelsTracker?.currentTunnel, currentTunnel.status == .active || currentTunnel.status == .activating else {
NSApp.terminate(nil)