| 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 f5d28ef1d79a610f3834115b463b4b74d7566fc0..6eb8e35f860aeb4c299637eb674148df9dbde5eb 100644
|
| --- a/ui/views/controls/menu/menu_controller.cc
|
| +++ b/ui/views/controls/menu/menu_controller.cc
|
| @@ -2378,17 +2378,19 @@ void MenuController::SetExitType(ExitType type) {
|
| // the current loop.
|
| bool quit_now = ShouldQuitNow() && exit_type_ != EXIT_NONE &&
|
| message_loop_depth_;
|
| + if (quit_now)
|
| + TerminateNestedMessageLoop();
|
| +}
|
|
|
| - if (quit_now) {
|
| - if (owner_) {
|
| - aura::Window* root = owner_->GetNativeWindow()->GetRootWindow();
|
| - aura::client::GetDispatcherClient(root)->QuitNestedMessageLoop();
|
| - } else {
|
| - base::MessageLoop::current()->QuitNow();
|
| - }
|
| - // Restore the previous dispatcher.
|
| - nested_dispatcher_.reset();
|
| +void MenuController::TerminateNestedMessageLoop() {
|
| + if (owner_) {
|
| + aura::Window* root = owner_->GetNativeWindow()->GetRootWindow();
|
| + aura::client::GetDispatcherClient(root)->QuitNestedMessageLoop();
|
| + } else {
|
| + base::MessageLoop::current()->QuitNow();
|
| }
|
| + // Restore the previous dispatcher.
|
| + nested_dispatcher_.reset();
|
| }
|
|
|
| bool MenuController::ShouldQuitNow() const {
|
|
|