From 90ae5766e646f5a9daafcc8ddca568372dc263ca Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Wed, 1 Aug 2012 19:18:40 +0100 Subject: [PATCH] Fixed: token fields would sometimes unexpectedly steal first responder status. If an autocomplete choice was made followed by immediately focusing on another control, the token field would reclaim first responder status a moment later. --- AppKit/_CPAutocompleteMenu.j | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/AppKit/_CPAutocompleteMenu.j b/AppKit/_CPAutocompleteMenu.j index a79c1ae80..78d1be533 100644 --- a/AppKit/_CPAutocompleteMenu.j +++ b/AppKit/_CPAutocompleteMenu.j @@ -65,7 +65,7 @@ var _CPAutocompleteMenuMaximumHeight = 307; [scrollView setHasHorizontalScroller:NO]; [contentView addSubview:scrollView]; - tableView = [[CPTableView alloc] initWithFrame:CPRectMakeZero()]; + tableView = [[_CPNonFirstResponderTableView alloc] initWithFrame:CPRectMakeZero()]; var tableColumn = [CPTableColumn new]; [tableColumn setResizingMask:CPTableColumnAutoresizingMask]; @@ -251,14 +251,14 @@ var _CPAutocompleteMenuMaximumHeight = 307; return [contentArray objectAtIndex:row]; } -- (void)tableViewSelectionDidChange:(CPNotification)notification +@end + + +@implementation _CPNonFirstResponderTableView : CPTableView + +- (BOOL)acceptsFirstResponder { - // FIXME - // make sure a mouse click in the tableview doesn't steal first responder state - window.setTimeout(function() - { - [[textField window] makeFirstResponder:textField]; - }, 2.0); + return NO; } @end