| Index: ui/views/controls/menu/menu_controller.cc
|
| diff --git a/ui/views/controls/menu/menu_controller.cc b/ui/views/controls/menu/menu_controller.cc
|
| index 796ecc37ff4dff318d76855eae6d57a06b262eb3..d1547c41a8c3d4aaec0de657a595a2777328e742 100644
|
| --- a/ui/views/controls/menu/menu_controller.cc
|
| +++ b/ui/views/controls/menu/menu_controller.cc
|
| @@ -434,6 +434,10 @@ MenuItemView* MenuController::Run(Widget* parent,
|
| // Set exit_all_, which makes sure all nested loops exit immediately.
|
| if (exit_type_ != EXIT_DESTROYED)
|
| SetExitType(EXIT_ALL);
|
| + } else if (exit_type_ != EXIT_NONE && message_loop_depth_) {
|
| + // If we're closing all menus, also mark the next topmost menu
|
| + // message loop for termination, so that we'll unwind fully.
|
| + TerminateNestedMessageLoop();
|
| }
|
| }
|
|
|
|
|