diff options
-rw-r--r-- | ash/wm/app_list_controller.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ash/wm/app_list_controller.cc b/ash/wm/app_list_controller.cc index ec169fe..d42ff42 100644 --- a/ash/wm/app_list_controller.cc +++ b/ash/wm/app_list_controller.cc @@ -149,6 +149,13 @@ void AppListController::SetVisible(bool visible, aura::Window* window) { UpdateAutoHideState(); if (view_) { + // Our widget is currently active. When the animation completes we'll hide + // the widget, changing activation. If a menu is shown before the animation + // completes then the activation change triggers the menu to close. By + // deactivating now we ensure there is no activation change when the + // animation completes and any menus stay open. + if (!visible) + view_->GetWidget()->Deactivate(); ScheduleAnimation(); } else if (is_visible_) { // AppListModel and AppListViewDelegate are owned by AppListView. They |