diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c index 88d31f80b..19aa14a47 100644 --- a/hw/xwayland/xwayland.c +++ b/hw/xwayland/xwayland.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -528,6 +529,8 @@ xwl_realize_window(WindowPtr window) goto err_surf; } + compRedirectWindow(serverClient, window, CompositeRedirectManual); + DamageRegister(&window->drawable, xwl_window->damage); DamageSetReportAfterOp(xwl_window->damage, TRUE); @@ -575,6 +578,8 @@ xwl_unrealize_window(WindowPtr window) xwl_seat_clear_touch(xwl_seat, window); } + compUnredirectWindow(serverClient, window, CompositeRedirectManual); + screen->UnrealizeWindow = xwl_screen->UnrealizeWindow; ret = (*screen->UnrealizeWindow) (window); xwl_screen->UnrealizeWindow = screen->UnrealizeWindow;