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..e79267193e452dd9d6ea9080109a02be5711c420 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 foucs and drag and drop state. |
+ View::ViewHierarchyChangedDetails details(false, NULL, submenu_, NULL); |
+ ViewHierarchyChanged(details); |
sadrul
2014/03/26 18:01:07
Can this be separated out in a different CL with c
varkha
2014/03/27 04:48:13
See https://codereview.chromium.org/214083004/.
|
} |
void MenuHost::SetMenuHostBounds(const gfx::Rect& bounds) { |