diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-28 02:12:17 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-28 02:12:17 +0000 |
commit | 064fd6c0eaa0e5cccf2161ffadcbd80701f17cd9 (patch) | |
tree | c9e859cd4574de8d46c73ee1af3253ab1999d22b | |
parent | f729d15a933e28cfc000953b75535acc90c3aa5e (diff) | |
download | chromium_src-064fd6c0eaa0e5cccf2161ffadcbd80701f17cd9.zip chromium_src-064fd6c0eaa0e5cccf2161ffadcbd80701f17cd9.tar.gz chromium_src-064fd6c0eaa0e5cccf2161ffadcbd80701f17cd9.tar.bz2 |
Fixes possible crash in closing menus. Specifically if we Close a
menu but the parent closes before the Widget::CloseNow task is
processed then MenuHost can attempt to access a deleted menu item.
BUG=125395
TEST=none
R=ben@chromium.org
Review URL: http://codereview.chromium.org/10178031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134422 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | ui/views/controls/menu/menu_host.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ui/views/controls/menu/menu_host.cc b/ui/views/controls/menu/menu_host.cc index 44d2f62..4a887e5 100644 --- a/ui/views/controls/menu/menu_host.cc +++ b/ui/views/controls/menu/menu_host.cc @@ -109,6 +109,9 @@ void MenuHost::OnNativeWidgetDestroyed() { } void MenuHost::OnOwnerClosing() { + if (destroying_) + return; + MenuController* menu_controller = submenu_->GetMenuItem()->GetMenuController(); if (menu_controller && !menu_controller->drag_in_progress()) |