diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-18 22:17:02 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-18 22:17:02 +0000 |
commit | 352a797d3022450c4e5ee0e25a7d30cb414632da (patch) | |
tree | 40d129ee8960572cdf38e50c593c3291bf9076f0 /views/controls | |
parent | 0fb9605158cb7834c942973a8e099e7cce1aebdb (diff) | |
download | chromium_src-352a797d3022450c4e5ee0e25a7d30cb414632da.zip chromium_src-352a797d3022450c4e5ee0e25a7d30cb414632da.tar.gz chromium_src-352a797d3022450c4e5ee0e25a7d30cb414632da.tar.bz2 |
Adds some debugging code in hopes of finding why 90860 is happening.
BUG=90860
TEST=none
R=ben@chromium.org
Review URL: http://codereview.chromium.org/7631048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97375 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/controls')
-rw-r--r-- | views/controls/menu/menu_controller.cc | 3 | ||||
-rw-r--r-- | views/controls/menu/menu_item_view.cc | 11 |
2 files changed, 12 insertions, 2 deletions
diff --git a/views/controls/menu/menu_controller.cc b/views/controls/menu/menu_controller.cc index c57ba09..425f315 100644 --- a/views/controls/menu/menu_controller.cc +++ b/views/controls/menu/menu_controller.cc @@ -267,7 +267,8 @@ MenuItemView* MenuController::Run(Widget* parent, possible_drag_ = false; drag_in_progress_ = false; - bool nested_menu = showing_; + // TODO(sky): remove volatile. Used in tracking 90860. + volatile bool nested_menu = showing_; if (showing_) { // Only support nesting of blocking_run menus, nesting of // blocking/non-blocking shouldn't be needed. diff --git a/views/controls/menu/menu_item_view.cc b/views/controls/menu/menu_item_view.cc index bfe1b75..89fbfe6 100644 --- a/views/controls/menu/menu_item_view.cc +++ b/views/controls/menu/menu_item_view.cc @@ -130,6 +130,14 @@ bool MenuItemView::GetTooltipText(const gfx::Point& p, std::wstring* tooltip) { return false; } + volatile MenuItemView* root_menu_item = GetRootMenuItem(); + if (root_menu_item->canceled_) { + // TODO(sky): if |canceled_| is true, controller->exit_type() should be + // something other than EXIT_NONE, but crash reports seem to indicate + // otherwise. Used in tracking 90860. + return false; + } + CHECK(GetDelegate()); gfx::Point location(p); ConvertPointToScreen(this, &location); @@ -208,7 +216,8 @@ void MenuItemView::RunMenuAt(Widget* parent, controller->Cancel(MenuController::EXIT_ALL); controller = NULL; } - bool owns_controller = false; + // TODO(sky): remove volatile, used in tracking 90860. + volatile bool owns_controller = false; if (!controller) { // No menus are showing, show one. controller = new MenuController(true); |