Index: ui/views/controls/menu/menu_host.cc |
diff --git a/ui/views/controls/menu/menu_host.cc b/ui/views/controls/menu/menu_host.cc |
index 5e8593b98ab06b57bc2e780541d1fe18b8f904b4..28fb95e02a612c2cd3dc59e24f7a4ee262e8a9cc 100644 |
--- a/ui/views/controls/menu/menu_host.cc |
+++ b/ui/views/controls/menu/menu_host.cc |
@@ -92,6 +92,10 @@ void MenuHost::DestroyMenuHost() { |
destroying_ = true; |
static_cast<MenuHostRootView*>(GetRootView())->ClearSubmenu(); |
Close(); |
+ // Since |submenu_| is not a child view it is necessary to notify its |
+ // observers so that they can clean up the focus and drag and drop state. |
+ View::ViewHierarchyChangedDetails details(false, NULL, submenu_, NULL); |
+ ViewHierarchyChanged(details); |
sky
2014/03/27 21:40:43
I think this is a deficiency in how focus is clean
varkha
2014/03/27 22:05:10
In this case the menu does not have focus (the men
sky
2014/03/27 23:31:28
Isn't this happening because SubmenuView is client
|
} |
void MenuHost::SetMenuHostBounds(const gfx::Rect& bounds) { |