summaryrefslogtreecommitdiffstats
path: root/views/controls/menu/menu_controller.cc
diff options
context:
space:
mode:
Diffstat (limited to 'views/controls/menu/menu_controller.cc')
-rw-r--r--views/controls/menu/menu_controller.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/views/controls/menu/menu_controller.cc b/views/controls/menu/menu_controller.cc
index ae099f7..2c00e5e 100644
--- a/views/controls/menu/menu_controller.cc
+++ b/views/controls/menu/menu_controller.cc
@@ -268,15 +268,15 @@ MenuItemView* MenuController::Run(gfx::NativeWindow parent,
if (ViewsDelegate::views_delegate)
ViewsDelegate::views_delegate->AddRef();
+ // We need to turn on nestable tasks as in some situations (pressing alt-f for
+ // one) the menus are run from a task. If we don't do this and are invoked
+ // from a task none of the tasks we schedule are processed and the menu
+ // appears totally broken.
MessageLoopForUI* loop = MessageLoopForUI::current();
- if (MenuItemView::allow_task_nesting_during_run_) {
- bool did_allow_task_nesting = loop->NestableTasksAllowed();
- loop->SetNestableTasksAllowed(true);
- loop->Run(this);
- loop->SetNestableTasksAllowed(did_allow_task_nesting);
- } else {
- loop->Run(this);
- }
+ bool did_allow_task_nesting = loop->NestableTasksAllowed();
+ loop->SetNestableTasksAllowed(true);
+ loop->Run(this);
+ loop->SetNestableTasksAllowed(did_allow_task_nesting);
if (ViewsDelegate::views_delegate)
ViewsDelegate::views_delegate->ReleaseRef();