Revision: 22668
http://sourceforge.net/p/bibdesk/svn/22668
Author: hofman
Date: 2018-09-25 21:49:52 +0000 (Tue, 25 Sep 2018)
Log Message:
-----------
don't do unnecessary checks when we did not find valid container
Modified Paths:
--------------
trunk/bibdesk/BDSKAddCommand.m
trunk/bibdesk/BDSKRemoveCommand.m
Modified: trunk/bibdesk/BDSKAddCommand.m
===================================================================
--- trunk/bibdesk/BDSKAddCommand.m 2018-09-25 15:23:32 UTC (rev 22667)
+++ trunk/bibdesk/BDSKAddCommand.m 2018-09-25 21:49:52 UTC (rev 22668)
@@ -111,17 +111,19 @@
} else if (locationSpecifier) {
insertionContainer = [locationSpecifier
objectsByEvaluatingSpecifier];
// make sure this is a valid object, so not something like a
range specifier
- if ([insertionContainer
respondsToSelector:@selector(objectSpecifier)] == NO)
+ if ([insertionContainer
respondsToSelector:@selector(objectSpecifier)] == NO) {
insertionContainer = nil;
- containerClassDescription = [insertionContainer
scriptClassDescription];
- if ([classDescriptions containsObject:[NSNull null]] == NO) {
- for (NSString *key in [containerClassDescription
toManyRelationshipKeys]) {
- NSScriptClassDescription *keyClassDescription =
[containerClassDescription classDescriptionForKey:key];
- if ([insertionClassDescription
isKindOfClassDescription:keyClassDescription] &&
- [containerClassDescription
hasWritablePropertyForKey:key] &&
- [containerClassDescription
isLocationRequiredToCreateForKey:key] == NO) {
- insertionKey = key;
- break;
+ } else {
+ containerClassDescription = [insertionContainer
scriptClassDescription];
+ if ([classDescriptions containsObject:[NSNull null]] ==
NO) {
+ for (NSString *key in [containerClassDescription
toManyRelationshipKeys]) {
+ NSScriptClassDescription *keyClassDescription =
[containerClassDescription classDescriptionForKey:key];
+ if ([containerClassDescription
hasWritablePropertyForKey:key] &&
+ [containerClassDescription
isLocationRequiredToCreateForKey:key] == NO &&
+ [insertionClassDescription
isKindOfClassDescription:keyClassDescription]) {
+ insertionKey = key;
+ break;
+ }
}
}
}
Modified: trunk/bibdesk/BDSKRemoveCommand.m
===================================================================
--- trunk/bibdesk/BDSKRemoveCommand.m 2018-09-25 15:23:32 UTC (rev 22667)
+++ trunk/bibdesk/BDSKRemoveCommand.m 2018-09-25 21:49:52 UTC (rev 22668)
@@ -113,15 +113,17 @@
} else if (containerSpecifier) {
removeContainer = [containerSpecifier
objectsByEvaluatingSpecifier];
// make sure this is a valid object, so not something like a
range specifier
- if ([removeContainer
respondsToSelector:@selector(objectSpecifier)] == NO)
+ if ([removeContainer
respondsToSelector:@selector(objectSpecifier)] == NO) {
removeContainer = nil;
- containerClassDescription = [removeContainer
scriptClassDescription];
- for (NSString *key in [containerClassDescription
toManyRelationshipKeys]) {
- NSScriptClassDescription *keyClassDescription =
[containerClassDescription classDescriptionForKey:key];
- if ([removeClassDescription
isKindOfClassDescription:keyClassDescription] &&
- [containerClassDescription
hasWritablePropertyForKey:key]) {
- removeKey = key;
- break;
+ } else {
+ containerClassDescription = [removeContainer
scriptClassDescription];
+ for (NSString *key in [containerClassDescription
toManyRelationshipKeys]) {
+ NSScriptClassDescription *keyClassDescription =
[containerClassDescription classDescriptionForKey:key];
+ if ([containerClassDescription
hasWritablePropertyForKey:key] &&
+ [removeClassDescription
isKindOfClassDescription:keyClassDescription]) {
+ removeKey = key;
+ break;
+ }
}
}
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit