Index: services/ui/ws/window_server.cc |
diff --git a/services/ui/ws/window_server.cc b/services/ui/ws/window_server.cc |
index 6ca22491bff3e8bf6f985344f2a000304df293ae..3b0446dea15217be18930c59287a6f6f4925ca74 100644 |
--- a/services/ui/ws/window_server.cc |
+++ b/services/ui/ws/window_server.cc |
@@ -638,6 +638,15 @@ void WindowServer::OnWindowHierarchyChanged(ServerWindow* window, |
ProcessWindowHierarchyChanged(window, new_parent, old_parent); |
+ if (old_parent) { |
+ display_compositor_->UnregisterFrameSinkHierarchy( |
+ old_parent->frame_sink_id(), window->frame_sink_id()); |
+ } |
+ if (new_parent) { |
+ display_compositor_->RegisterFrameSinkHierarchy(new_parent->frame_sink_id(), |
+ window->frame_sink_id()); |
+ } |
+ |
UpdateNativeCursorFromMouseLocation(window); |
} |