diff --git a/ChangeLog b/ChangeLog index 19e51bc5..b43b743a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-04-12 20:27 Gregory John Casamento + + * GormCore/GormGenericEditor.m: Unsubscribe from all notifications. + * GormCore/GormObjectEditor.m: Correct problem preventing + connections. + 2005-04-11 23:24 Gregory John Casamento * GormCore/GormInspectorsManager.m: Send a call to "revert" diff --git a/GormCore/GormGenericEditor.m b/GormCore/GormGenericEditor.m index c5d4b0a6..684d520f 100644 --- a/GormCore/GormGenericEditor.m +++ b/GormCore/GormGenericEditor.m @@ -176,6 +176,11 @@ // The resource manager is a weak connection and is not retained, // no need to release it here. RELEASE(objects); + + // Remove self from any and all notifications. + [[NSNotificationCenter defaultCenter] + removeObserver: self]; + [super dealloc]; } diff --git a/GormCore/GormObjectEditor.m b/GormCore/GormObjectEditor.m index d151b255..1457ca6a 100644 --- a/GormCore/GormObjectEditor.m +++ b/GormCore/GormObjectEditor.m @@ -206,33 +206,34 @@ static NSMapTable *docMap = 0; - (unsigned) draggingEntered: (id)sender { + NSArray *pbTypes = nil; + NSString *type = nil; + NSArray *mgrTypes = nil; + // Get the resource manager first, if nil don't bother calling the rest... dragPb = [sender draggingPasteboard]; + pbTypes = [dragPb types]; resourceManager = [(GormDocument *)document resourceManagerForPasteboard: dragPb]; if(resourceManager != nil) { - NSArray *types; - NSString *type; - NSArray *resourceTypes = [resourceManager resourcePasteboardTypes]; - - types = [dragPb types]; - type = [resourceTypes firstObjectCommonWithArray: types]; - - if (type != nil) - { - dragType = type; - } - else if ([types containsObject: GormLinkPboardType] == YES) - { - dragType = GormLinkPboardType; - } - else - { - dragType = nil; - } + mgrTypes = [resourceManager resourcePasteboardTypes]; + type = [mgrTypes firstObjectCommonWithArray: pbTypes]; } + if (type != nil) + { + dragType = type; + } + else if ([pbTypes containsObject: GormLinkPboardType] == YES) + { + dragType = GormLinkPboardType; + } + else + { + dragType = nil; + } + return [self draggingUpdated: sender]; }