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 12c5aae5351eb5759e048fc629f9b5e8cc3380c8..27d413b62f5690dda55841d130274e36e0193528 100644 |
--- a/ui/views/controls/menu/menu_controller.cc |
+++ b/ui/views/controls/menu/menu_controller.cc |
@@ -435,11 +435,12 @@ MenuItemView* MenuController::Run(Widget* parent, |
} |
// If we stopped running because one of the menus was destroyed chances are |
- // the button was also destroyed. |
- if (exit_type_ != EXIT_DESTROYED && menu_button_) { |
+ // the button was also destroyed. If there is a menu visible on the button, it |
+ // will clean itself up. |
+ if (exit_type_ != EXIT_DESTROYED && |
+ menu_button_ && |
+ !menu_button_->menu_visible()) |
menu_button_->SetState(CustomButton::STATE_NORMAL); |
- menu_button_->SchedulePaint(); |
- } |
return result; |
} |