diff --git a/KeePassKit b/KeePassKit index 6c63ae18..8b66768d 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 6c63ae1896ce96ff31bd33781028f4c17880f998 +Subproject commit 8b66768ddbfca8f9fcd1213e76fbf89a9a659e7b diff --git a/MacPass/KPKNode+IconImage.m b/MacPass/KPKNode+IconImage.m index b7f17cd9..a76c27da 100644 --- a/MacPass/KPKNode+IconImage.m +++ b/MacPass/KPKNode+IconImage.m @@ -19,18 +19,24 @@ @implementation KPKNode (IconImage) + (NSSet *)keyPathsForValuesAffectingIconImage { + static NSString *expireDateKeyPath; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + expireDateKeyPath = [[NSString alloc] initWithFormat:@"%@.%@", NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(isExpired))]; + }); return [NSSet setWithArray:@[NSStringFromSelector(@selector(iconUUID)), NSStringFromSelector(@selector(iconId)), - @"timeInfo.expires"]]; + expireDateKeyPath + ]]; } - (NSImage *)iconImage { - /* - if(self.timeInfo.expires) { + + if(self.timeInfo.isExpired) { const BOOL isGroup = [self isKindOfClass:[KPKGroup class]]; return [MPIconHelper icon:(isGroup ? MPIconExpiredGroup : MPIconExpiredEntry)]; } - */ + if(self.iconUUID) { KPKIcon *icon = [self.tree.metaData findIcon:self.iconUUID]; if(icon && icon.image) {