summaryrefslogtreecommitdiff
path: root/macui
diff options
context:
space:
mode:
authorGrant Limberg <grant.limberg@zerotier.com>2017-02-10 16:10:23 -0800
committerGrant Limberg <grant.limberg@zerotier.com>2017-02-10 16:10:23 -0800
commit9a6c3e05ad023a081f61a4b05bb5bc717a257bd3 (patch)
tree6010c8bb0742b48aa9df7fe55e65fb38b9d094b0 /macui
parentcdc289fa9c5d7d19990c14946ede5f3642e235d2 (diff)
downloadinfinitytier-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.m28
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 {