diff --git a/cage.c b/cage.c index 807aefe..896334b 100644 --- a/cage.c +++ b/cage.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #if CAGE_HAS_XWAYLAND #include @@ -259,6 +260,7 @@ main(int argc, char *argv[]) struct wl_event_source *sigterm_source = NULL; struct wl_event_source *sigchld_source = NULL; struct wlr_compositor *compositor = NULL; + struct wlr_subcompositor *subcompositor = NULL; struct wlr_data_device_manager *data_device_manager = NULL; struct wlr_server_decoration_manager *server_decoration_manager = NULL; struct wlr_xdg_decoration_manager_v1 *xdg_decoration_manager = NULL; @@ -356,6 +358,13 @@ main(int argc, char *argv[]) goto end; } + subcompositor = wlr_subcompositor_create(server.wl_display); + if (!subcompositor) { + wlr_log(WLR_ERROR, "Unable to create the wlroots subcompositor"); + ret = 1; + goto end; + } + data_device_manager = wlr_data_device_manager_create(server.wl_display); if (!data_device_manager) { wlr_log(WLR_ERROR, "Unable to create the data device manager");