diff --git a/hw/xwayland/xwayland-window.c b/hw/xwayland/xwayland-window.c index fdd4b287a..d4e8e81e2 100644 --- a/hw/xwayland/xwayland-window.c +++ b/hw/xwayland/xwayland-window.c @@ -1360,18 +1360,14 @@ xwl_realize_window(WindowPtr window) } } - if (xwl_screen->rootless ? - (window->drawable.class == InputOutput && - window->parent == window->drawable.pScreen->root) : - !window->parent) { - if (!register_damage(window)) - return FALSE; - } - xwl_window = ensure_surface_for_window(window); if (!xwl_window) return FALSE; + if (window == xwl_window->toplevel && + !window_get_damage(window)) + return register_damage(window); + return TRUE; }