From: Roopesh Chander Date: Tue, 22 Jan 2019 14:27:35 +0000 (+0530) Subject: macOS: reload: Iterate in reverse X-Git-Tag: 0.0.20190207-1~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=54f45cb3f82187c7d0c0fdce5a89166e5b23b6cb;p=thirdparty%2Fwireguard-apple.git macOS: reload: Iterate in reverse Signed-off-by: Roopesh Chander --- diff --git a/WireGuard/WireGuard/Tunnel/TunnelsManager.swift b/WireGuard/WireGuard/Tunnel/TunnelsManager.swift index 28b6969..82d10a3 100644 --- a/WireGuard/WireGuard/Tunnel/TunnelsManager.swift +++ b/WireGuard/WireGuard/Tunnel/TunnelsManager.swift @@ -61,13 +61,11 @@ class TunnelsManager { let loadedTunnelProviders = managers ?? [] - var numberOfRemovedTunnels = 0 - for (index, currentTunnel) in self.tunnels.enumerated() { + for (index, currentTunnel) in self.tunnels.enumerated().reversed() { if !loadedTunnelProviders.contains(where: { $0.tunnelConfiguration == currentTunnel.tunnelConfiguration }) { // Tunnel was deleted outside the app - self.tunnels.remove(at: index - numberOfRemovedTunnels) - self.tunnelsListDelegate?.tunnelRemoved(at: index - numberOfRemovedTunnels) - numberOfRemovedTunnels += 1 + self.tunnels.remove(at: index) + self.tunnelsListDelegate?.tunnelRemoved(at: index) } } for loadedTunnelProvider in loadedTunnelProviders {