summaryrefslogtreecommitdiffstats
path: root/views/controls/menu
diff options
context:
space:
mode:
Diffstat (limited to 'views/controls/menu')
-rw-r--r--views/controls/menu/menu_runner.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/views/controls/menu/menu_runner.cc b/views/controls/menu/menu_runner.cc
index 89cb114..169be0b 100644
--- a/views/controls/menu/menu_runner.cc
+++ b/views/controls/menu/menu_runner.cc
@@ -112,7 +112,11 @@ void MenuRunnerImpl::Release() {
empty_delegate_.reset(new MenuDelegate());
menu_->set_delegate(empty_delegate_.get());
- menu_->Cancel();
+ DCHECK(controller_);
+ // Release is invoked when MenuRunner is destroyed. Assume this is happening
+ // because the object referencing the menu has been destroyed and the menu
+ // button is no longer valid.
+ controller_->Cancel(MenuController::EXIT_DESTROYED);
} else {
delete this;
}