summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-28 02:12:17 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-28 02:12:17 +0000
commit064fd6c0eaa0e5cccf2161ffadcbd80701f17cd9 (patch)
treec9e859cd4574de8d46c73ee1af3253ab1999d22b
parentf729d15a933e28cfc000953b75535acc90c3aa5e (diff)
downloadchromium_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.cc3
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())