From: <ho...@us...> - 2009-03-30 16:40:37
|
Revision: 14899 http://bibdesk.svn.sourceforge.net/bibdesk/?rev=14899&view=rev Author: hofman Date: 2009-03-30 16:40:32 +0000 (Mon, 30 Mar 2009) Log Message: ----------- Fix assertions for KVO. Apparently built-in binding support returns NSNull for many binding options rather than nil. Modified Paths: -------------- trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m Modified: trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m =================================================================== --- trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m 2009-03-30 12:55:04 UTC (rev 14898) +++ trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m 2009-03-30 16:40:32 UTC (rev 14899) @@ -994,7 +994,8 @@ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if (context == &_FVFileViewContentObservationContext) { - NSParameterAssert([keyPath isEqualToString:CONTENT_BINDING_NAME]); + NSParameterAssert([keyPath isEqualToString:[_contentBinding objectForKey:NSObservedKeyPathKey]]); + NSParameterAssert(object == [_contentBinding objectForKey:NSObservedObjectKey]); id observedArray = [[_contentBinding objectForKey:NSObservedObjectKey] valueForKeyPath:[_contentBinding objectForKey:NSObservedKeyPathKey]]; if (NSIsControllerMarker(observedArray) == NO) { @@ -1027,12 +1028,12 @@ NSString *keyPath = [info objectForKey:NSObservedKeyPathKey]; NSDictionary *options = [info objectForKey:NSOptionsKey]; NSValueTransformer *transformer = [options objectForKey:NSValueTransformerBindingOption]; - if (transformer == nil) { + if (transformer == nil || [transformer isEqual:[NSNull null]]) { NSString *transformerName = [options objectForKey:NSValueTransformerNameBindingOption]; - if (transformerName) + if (transformerName && [transformer isEqual:[NSNull null]] == NO) transformer = [NSValueTransformer valueTransformerForName:transformerName]; } - if (transformer) + if (transformer && [transformer isEqual:[NSNull null]] == NO) value = [transformer reverseTransformedValue:value]; [observable setValue:value forKeyPath:keyPath]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |