diff options
author | Grant Limberg <grant.limberg@zerotier.com> | 2017-02-10 16:10:23 -0800 |
---|---|---|
committer | Grant Limberg <grant.limberg@zerotier.com> | 2017-02-10 16:10:23 -0800 |
commit | 9a6c3e05ad023a081f61a4b05bb5bc717a257bd3 (patch) | |
tree | 6010c8bb0742b48aa9df7fe55e65fb38b9d094b0 /macui | |
parent | cdc289fa9c5d7d19990c14946ede5f3642e235d2 (diff) | |
download | infinitytier-9a6c3e05ad023a081f61a4b05bb5bc717a257bd3.tar.gz infinitytier-9a6c3e05ad023a081f61a4b05bb5bc717a257bd3.zip |
Fix for deleted networks not being removed from the network details list on macOS
Diffstat (limited to 'macui')
-rw-r--r-- | macui/ZeroTier One/ShowNetworksViewController.m | 28 |
1 files changed, 28 insertions, 0 deletions
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<Network*> *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<Network *> *)list { |