summaryrefslogtreecommitdiffstats
path: root/views/controls/menu/native_menu_gtk.h
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-07 22:39:03 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-07 22:39:03 +0000
commit9b7f9ae5175762408d10f544e2dba412ac31519f (patch)
tree2a90b890a45f1dfde76834917fea090377d49638 /views/controls/menu/native_menu_gtk.h
parent977a7405264468996361d424faeb861411ddb878 (diff)
downloadchromium_src-9b7f9ae5175762408d10f544e2dba412ac31519f.zip
chromium_src-9b7f9ae5175762408d10f544e2dba412ac31519f.tar.gz
chromium_src-9b7f9ae5175762408d10f544e2dba412ac31519f.tar.bz2
Fixes possible crash in menus on views/gtk. The crash would happen if
between the time we called into the model when the user selected an item and the time MessageLoop::Quit is processed the menu was destroyed, we would crash. As MessageLoop::Quit isn't immediate, and we really don't want to call out from a nested message loop, we wait until the quit is processed, then notify the model. CROS_BUG=1108 TEST=see bug Review URL: http://codereview.chromium.org/521063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35746 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/controls/menu/native_menu_gtk.h')
-rw-r--r--views/controls/menu/native_menu_gtk.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/views/controls/menu/native_menu_gtk.h b/views/controls/menu/native_menu_gtk.h
index e83995a..8167954 100644
--- a/views/controls/menu/native_menu_gtk.h
+++ b/views/controls/menu/native_menu_gtk.h
@@ -63,6 +63,12 @@ class NativeMenuGtk : public MenuWrapper {
// state is changed by |UpdateStates()| API.
bool suppress_activate_signal_;
+ // Did the user select something from the menu?
+ bool menu_activated_;
+
+ // If menu_activated_ is true, this is the index of the item.
+ int activated_index_;
+
DISALLOW_COPY_AND_ASSIGN(NativeMenuGtk);
};