diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-19 20:34:49 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-19 20:34:49 +0000 |
commit | b4f154d92b13522ff4d53d8a5bcd8eceec4a9709 (patch) | |
tree | d589a20a2c8221e95424b71d5d0e6990adcd5c69 /views/focus | |
parent | 359d2bf31d2edc43a9ca8b08ee07707038efce09 (diff) | |
download | chromium_src-b4f154d92b13522ff4d53d8a5bcd8eceec4a9709.zip chromium_src-b4f154d92b13522ff4d53d8a5bcd8eceec4a9709.tar.gz chromium_src-b4f154d92b13522ff4d53d8a5bcd8eceec4a9709.tar.bz2 |
Fixes crash in focus that occurs if Focus ends up deleting/removing
the view.
BUG=61963
TEST=see bug
Review URL: http://codereview.chromium.org/5227003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66809 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/focus')
-rw-r--r-- | views/focus/focus_manager.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/views/focus/focus_manager.cc b/views/focus/focus_manager.cc index 3751ace..2007ff1 100644 --- a/views/focus/focus_manager.cc +++ b/views/focus/focus_manager.cc @@ -313,7 +313,11 @@ void FocusManager::SetFocusedViewWithReason( if (view) { view->SchedulePaint(); view->Focus(); - view->DidGainFocus(); + if (view == focused_view_) { + // Only tell the view it is focused if it's still our focused view. It's + // possible for Focus to remove/delete the view. + view->DidGainFocus(); + } } } |