Chromium Code Reviews| 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..9ce2ea5ac47e499dd72ba7394f6d39f5feb13a31 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_ALL && message_loop_depth_) { |
|
spang
2015/01/06 19:22:27
Er, I think EXIT_DESTROYED also needs this treatme
|
| + // If we're closing all menus, also mark the next topmost menu |
| + // message loop for termination, so that we'll unwind fully. |
| + TerminateNestedMessageLoop(); |
| } |
| } |