| Index: services/ui/ws/window_server.cc
|
| diff --git a/services/ui/ws/window_server.cc b/services/ui/ws/window_server.cc
|
| index 7242370e5a26b58c139d35db3ae32bdd60907826..3274da7cfa4d750f8bfea8203be64d0c91cd96e0 100644
|
| --- a/services/ui/ws/window_server.cc
|
| +++ b/services/ui/ws/window_server.cc
|
| @@ -206,6 +206,16 @@ ServerWindow* WindowServer::GetWindow(const WindowId& id) {
|
| if (window)
|
| return window;
|
| }
|
| + // WindowManagerDisplayRoots are destroyed by the client and not held by
|
| + // the Display.
|
| + for (auto& pair : tree_map_) {
|
| + if (pair.second->window_manager_state()) {
|
| + ServerWindow* window =
|
| + pair.second->window_manager_state()->GetOrphanedRootWithId(id);
|
| + if (window)
|
| + return window;
|
| + }
|
| + }
|
| }
|
| WindowTree* tree = GetTreeWithId(id.client_id);
|
| return tree ? tree->GetWindow(id) : nullptr;
|
|
|