xwm: Redirect root window subwindows
xwayland no longer does this for us, we have to request it now
diff --git a/configure.ac b/configure.ac
index 5abf65f..7727930 100644
--- a/configure.ac
+++ b/configure.ac
@@ -92,7 +92,7 @@
AM_CONDITIONAL(ENABLE_XWAYLAND, test x$enable_xwayland = xyes)
AM_CONDITIONAL(ENABLE_XWAYLAND_TEST, test x$enable_xwayland = xyes -a x$enable_xwayland_test = xyes)
if test x$enable_xwayland = xyes; then
- PKG_CHECK_MODULES([XWAYLAND], xcb xcb-xfixes xcursor cairo-xcb)
+ PKG_CHECK_MODULES([XWAYLAND], xcb xcb-xfixes xcb-composite xcursor cairo-xcb)
AC_DEFINE([BUILD_XWAYLAND], [1], [Build the X server launcher])
AC_ARG_WITH(xserver-path, AS_HELP_STRING([--with-xserver-path=PATH],
diff --git a/src/xwayland/window-manager.c b/src/xwayland/window-manager.c
index ef59e6d..bdb618e 100644
--- a/src/xwayland/window-manager.c
+++ b/src/xwayland/window-manager.c
@@ -1720,6 +1720,7 @@
uint32_t i;
xcb_prefetch_extension_data (wm->conn, &xcb_xfixes_id);
+ xcb_prefetch_extension_data (wm->conn, &xcb_composite_id);
formats_cookie = xcb_render_query_pict_formats(wm->conn);
@@ -1887,6 +1888,10 @@
XCB_EVENT_MASK_PROPERTY_CHANGE;
xcb_change_window_attributes(wm->conn, wm->screen->root,
XCB_CW_EVENT_MASK, values);
+
+ xcb_composite_redirect_subwindows(wm->conn, wm->screen->root,
+ XCB_COMPOSITE_REDIRECT_MANUAL);
+
wm->theme = theme_create();
weston_wm_create_wm_window(wm);
diff --git a/src/xwayland/xwayland.h b/src/xwayland/xwayland.h
index 3927078..77262e8 100644
--- a/src/xwayland/xwayland.h
+++ b/src/xwayland/xwayland.h
@@ -23,6 +23,7 @@
#include <wayland-server.h>
#include <xcb/xcb.h>
#include <xcb/xfixes.h>
+#include <xcb/composite.h>
#include <cairo/cairo-xcb.h>
#include "../compositor.h"