| Index: views/controls/menu/menu_controller.cc
|
| diff --git a/views/controls/menu/menu_controller.cc b/views/controls/menu/menu_controller.cc
|
| index a59caacc9ca35f20ff51b2d2618fb68650837243..1b513d104e06257d1cc2d065ff1163eda8fc523c 100644
|
| --- a/views/controls/menu/menu_controller.cc
|
| +++ b/views/controls/menu/menu_controller.cc
|
| @@ -758,8 +758,15 @@ void MenuController::SetSelection(MenuItemView* menu_item,
|
| }
|
|
|
| // Notify the old path it isn't selected.
|
| - for (size_t i = paths_differ_at; i < current_size; ++i)
|
| + MenuDelegate* current_delegate =
|
| + current_path.empty() ? NULL : current_path.front()->GetDelegate();
|
| + for (size_t i = paths_differ_at; i < current_size; ++i) {
|
| + if (current_delegate &&
|
| + current_path[i]->GetType() == MenuItemView::SUBMENU) {
|
| + current_delegate->WillHideMenu(current_path[i]);
|
| + }
|
| current_path[i]->SetSelected(false);
|
| + }
|
|
|
| // Notify the new path it is selected.
|
| for (size_t i = paths_differ_at; i < new_size; ++i)
|
|
|