]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
macOS: reload: Iterate in reverse
authorRoopesh Chander <roop@roopc.net>
Tue, 22 Jan 2019 14:27:35 +0000 (19:57 +0530)
committerRoopesh Chander <roop@roopc.net>
Tue, 22 Jan 2019 14:36:52 +0000 (20:06 +0530)
Signed-off-by: Roopesh Chander <roop@roopc.net>
WireGuard/WireGuard/Tunnel/TunnelsManager.swift

index 28b69692311826999b22f357efd05026576e5f60..82d10a3890ea0c12dd64a2ff5e48fc138fc4be6e 100644 (file)
@@ -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 {