From 6ea2b4e0e2b02fd04dda85976c9dca6a68e2a948 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sat, 13 Feb 2010 19:25:06 -0300 Subject: [PATCH] Fixed: the CPArrayController addObject: optimization for fast index updates would never fire with a nil _filterPredicate, causing rearrangeObjects to be called needlessly. --- AppKit/CPArrayController.j | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AppKit/CPArrayController.j b/AppKit/CPArrayController.j index 85ac092ab..f0eb896b3 100644 --- a/AppKit/CPArrayController.j +++ b/AppKit/CPArrayController.j @@ -352,11 +352,11 @@ if (_clearsFilterPredicateOnInsertion) [self setFilterPredicate:nil]; - if ([_filterPredicate evaluateWithObject:object]) + if (_filterPredicate === nil || [_filterPredicate evaluateWithObject:object]) { - [self willChangeValueForKey:@"selectionIndexes"]; var pos = [_arrangedObjects insertObject:object inArraySortedByDescriptors:_sortDescriptors]; + [self willChangeValueForKey:@"selectionIndexes"]; [_selectionIndexes shiftIndexesStartingAtIndex:pos by:1]; [self didChangeValueForKey:@"selectionIndexes"]; }