diff --git a/FlycutOperator.m b/FlycutOperator.m index c7153d8..7a880d7 100644 --- a/FlycutOperator.m +++ b/FlycutOperator.m @@ -33,7 +33,7 @@ @"skipPasswordFields", [NSNumber numberWithBool:YES], @"skipPboardTypes", - @"PasswordPboardType", + @"PasswordPboardType,org.nspasteboard.TransientType,org.nspasteboard.ConcealedType,org.nspasteboard.AutoGeneratedType,com.agilebits.onepassword", @"skipPboardTypesList", [NSNumber numberWithBool:NO], @"skipPasswordLengths", @@ -318,15 +318,14 @@ // Check the array of types to skip. if ( [[NSUserDefaults standardUserDefaults] boolForKey:@"skipPboardTypes"] ) { - NSArray *typesArray = [[[[NSUserDefaults standardUserDefaults] stringForKey:@"skipPboardTypesList"] stringByReplacingOccurrencesOfString:@" " withString:@""] componentsSeparatedByString: @","]; - [typesArray enumerateObjectsUsingBlock:^(id typeString, NSUInteger idx, BOOL *stop) - { - if ( [type isEqualToString:typeString] ) + NSSet *typesToSkip = [NSSet setWithArray: [[[[NSUserDefaults standardUserDefaults] stringForKey:@"skipPboardTypesList"] stringByReplacingOccurrencesOfString:@" " withString:@""] componentsSeparatedByString: @","]]; + NSSet *pasteBoardTypes = [NSSet setWithArray: [[NSPasteboard generalPasteboard] types]]; + + if ( [pasteBoardTypes intersectsSet: typesToSkip] ) { - skipClipping = YES; - *stop = YES; - } - }]; + skipClipping = YES; + }; + } if (skipClipping) return YES;