summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autocomplete
diff options
context:
space:
mode:
authorshess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-05 18:19:53 +0000
committershess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-05 18:19:53 +0000
commitee29492bb9e2d5a90c549bb8f522054c5d7bbbb5 (patch)
tree9004850e9dec25295edb893890d8ca86cc4a6477 /chrome/browser/autocomplete
parentd2123de693b44900b587ef1955af5e5217d68c42 (diff)
downloadchromium_src-ee29492bb9e2d5a90c549bb8f522054c5d7bbbb5.zip
chromium_src-ee29492bb9e2d5a90c549bb8f522054c5d7bbbb5.tar.gz
chromium_src-ee29492bb9e2d5a90c549bb8f522054c5d7bbbb5.tar.bz2
Ignore selections where the user dragged off the popup.
http://crbug.com/13107 TEST=Start typing in omnibox. Click in the popup and drag mouse off before releasing. Shouldn't crash. Review URL: http://codereview.chromium.org/112097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17741 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autocomplete')
-rw-r--r--chrome/browser/autocomplete/autocomplete_popup_view_mac.mm14
1 files changed, 11 insertions, 3 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm b/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm
index 68b48c6..ca4c8ec 100644
--- a/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm
+++ b/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm
@@ -319,9 +319,17 @@ AutocompletePopupModel* AutocompletePopupViewMac::GetModel() {
}
void AutocompletePopupViewMac::AcceptInput() {
- AutocompleteMatrix* matrix = [popup_ contentView];
- model_->SetSelectedLine([matrix selectedRow], false);
- edit_view_->AcceptInput(CURRENT_TAB, false);
+ const NSInteger selectedRow = [[popup_ contentView] selectedRow];
+
+ // -1 means no cells were selected. This can happen if the user
+ // clicked and then dragged their mouse off the popup before
+ // releasing, so reset the selection and ignore the event.
+ if (selectedRow == -1) {
+ PaintUpdatesNow();
+ } else {
+ model_->SetSelectedLine(selectedRow, false);
+ edit_view_->AcceptInput(CURRENT_TAB, false);
+ }
}
@implementation AutocompleteButtonCell