From b4f154d92b13522ff4d53d8a5bcd8eceec4a9709 Mon Sep 17 00:00:00 2001 From: "sky@chromium.org" Date: Fri, 19 Nov 2010 20:34:49 +0000 Subject: 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 --- views/focus/focus_manager.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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(); + } } } -- cgit v1.1