From 9a6c3e05ad023a081f61a4b05bb5bc717a257bd3 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Fri, 10 Feb 2017 16:10:23 -0800 Subject: Fix for deleted networks not being removed from the network details list on macOS --- macui/ZeroTier One/ShowNetworksViewController.m | 28 +++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'macui') diff --git a/macui/ZeroTier One/ShowNetworksViewController.m b/macui/ZeroTier One/ShowNetworksViewController.m index 8ca32ed0..903a4b44 100644 --- a/macui/ZeroTier One/ShowNetworksViewController.m +++ b/macui/ZeroTier One/ShowNetworksViewController.m @@ -58,8 +58,36 @@ BOOL hasNetworkWithID(NSArray *list, UInt64 nwid) self.visible = NO; } +- (NSInteger)findNetworkWithID:(UInt64)networkId +{ + for(int i = 0; i < [_networkList count]; ++i) { + Network *nw = [_networkList objectAtIndex:i]; + + if(nw.nwid == networkId) { + return i; + } + } + + return NSNotFound; +} + + - (void)deleteNetworkFromList:(NSString *)nwid { [self.netMonitor deleteSavedNetwork:nwid]; + + UInt64 netid = 0; + NSScanner *scanner = [NSScanner scannerWithString:nwid]; + [scanner scanHexLongLong:&netid]; + for (Network *n in _networkList) { + if (n.nwid == netid) { + NSInteger index = [self findNetworkWithID:netid]; + + if (index != NSNotFound) { + [_networkList removeObjectAtIndex:index]; + [_tableView reloadData]; + } + } + } } - (void)setNetworks:(NSArray *)list { -- cgit v1.2.3