diff --git a/AppKit/CPOutlineView.j b/AppKit/CPOutlineView.j index 8a6041fb1..5f29027a6 100644 --- a/AppKit/CPOutlineView.j +++ b/AppKit/CPOutlineView.j @@ -1591,6 +1591,25 @@ var CPOutlineViewCoalesceSelectionNotificationStateOff = 0, { return _implementedOutlineViewDelegateMethods & CPOutlineViewDelegate_outlineView_shouldCollapseItem_; } + +/*! + @ignore + Return YES if the delegate implements outlineView:selectionIndexesForProposedSelection +*/ +- (BOOL)_delegateRespondsToSelectionIndexesForProposedSelection +{ + return _implementedOutlineViewDelegateMethods & CPOutlineViewDelegate_outlineView_selectionIndexesForProposedSelection_; +} + +/*! + @ignore + Return YES if the delegate implements outlineView:shouldSelectItem: +*/ +- (BOOL)_delegateRespondsToShouldSelectRow +{ + return _implementedOutlineViewDelegateMethods & CPOutlineViewDelegate_outlineView_shouldSelectItem_; +} + @end // FIX ME: We're using with() here because Safari fails if we use anOutlineView._itemInfosForItems or whatever... diff --git a/AppKit/_CPPopUpList.j b/AppKit/_CPPopUpList.j index dc8a74227..655f297c0 100644 --- a/AppKit/_CPPopUpList.j +++ b/AppKit/_CPPopUpList.j @@ -887,7 +887,7 @@ var _CPPopUpListDataSourceKey = @"_CPPopUpListDataSourceKey", if (mouseWindow != self && !CGRectContainsPoint(rect, point)) [[self delegate] close]; - else if ([mouseWindow firstResponder] == [[self delegate] dataSource]) + else [self _trapNextMouseDown]; }