Index: ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc |
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc |
index 2b0f75652ed29a0efafe6783f47230401f2bbfc8..7889e4767e34e499cec8cd6f7261607df108e904 100644 |
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc |
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc |
@@ -1653,6 +1653,7 @@ void DesktopWindowTreeHostX11::MapWindow(ui::WindowShowState show_state) { |
1); |
} |
+ x_map_window_was_called_ = true; |
XMapWindow(xdisplay_, xwindow_); |
// We now block until our window is mapped. Some X11 APIs will crash and |
@@ -1661,6 +1662,7 @@ void DesktopWindowTreeHostX11::MapWindow(ui::WindowShowState show_state) { |
if (ui::X11EventSource::GetInstance()) |
ui::X11EventSource::GetInstance()->BlockUntilWindowMapped(xwindow_); |
window_mapped_ = true; |
+ x_map_window_was_called_ = false; |
UpdateMinAndMaxSize(); |
@@ -1883,6 +1885,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent( |
break; |
} |
case MapNotify: { |
+ CHECK(x_map_window_was_called_) |
+ << "Received MapNotify event despite never calling XMapWindow(). " |
+ << "(This is debugging state for crbug.com/381732.)"; |
+ |
FOR_EACH_OBSERVER(DesktopWindowTreeHostObserverX11, |
observer_list_, |
OnWindowMapped(xwindow_)); |