]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
macOS: Tunnel detail: Handle deletion outside app
authorRoopesh Chander <roop@roopc.net>
Tue, 22 Jan 2019 13:53:05 +0000 (19:23 +0530)
committerRoopesh Chander <roop@roopc.net>
Tue, 22 Jan 2019 14:00:21 +0000 (19:30 +0530)
Signed-off-by: Roopesh Chander <roop@roopc.net>
WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift

index 539b4872b7f56e551017ded3eebfdec3e06374f5..5ae89c448e5939b99e15372d3396ab7694a0a3fe 100644 (file)
@@ -155,10 +155,6 @@ class TunnelsListTableViewController: NSViewController {
                     ErrorPresenter.showErrorAlert(error: error, from: self)
                     return
                 }
-                let tunnelIndex = min(selectedTunnelIndex, self.tunnelsManager.numberOfTunnels() - 1)
-                if tunnelIndex >= 0 {
-                    self.selectTunnel(at: tunnelIndex)
-                }
             }
         }
     }
@@ -249,10 +245,15 @@ extension TunnelsListTableViewController {
     }
 
     func tunnelRemoved(at index: Int) {
+        let selectedTunnelIndex = tableView.selectedRow
         tableView.removeRows(at: IndexSet(integer: index), withAnimation: .slideLeft)
         if tunnelsManager.numberOfTunnels() == 0 {
             delegate?.tunnelsListEmpty()
         }
+        let tunnelIndex = min(selectedTunnelIndex, self.tunnelsManager.numberOfTunnels() - 1)
+        if tunnelIndex >= 0 {
+            self.selectTunnel(at: tunnelIndex)
+        }
     }
 }