From: Roopesh Chander Date: Tue, 22 Jan 2019 13:53:05 +0000 (+0530) Subject: macOS: Tunnel detail: Handle deletion outside app X-Git-Tag: 0.0.20190207-1~67 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2677efc9bf3fa8cb74c5dcdf4ed87ff86eaf4f0c;p=thirdparty%2Fwireguard-apple.git macOS: Tunnel detail: Handle deletion outside app Signed-off-by: Roopesh Chander --- diff --git a/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift b/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift index 539b487..5ae89c4 100644 --- a/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift +++ b/WireGuard/WireGuard/UI/macOS/ViewController/TunnelsListTableViewController.swift @@ -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) + } } }