summaryrefslogtreecommitdiffstats
path: root/views/controls
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-18 22:17:02 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-18 22:17:02 +0000
commit352a797d3022450c4e5ee0e25a7d30cb414632da (patch)
tree40d129ee8960572cdf38e50c593c3291bf9076f0 /views/controls
parent0fb9605158cb7834c942973a8e099e7cce1aebdb (diff)
downloadchromium_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.cc3
-rw-r--r--views/controls/menu/menu_item_view.cc11
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);