libweston-desktop: Implement xdg_shell_v6
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Differential Revision: https://phabricator.freedesktop.org/D1210
diff --git a/libweston-desktop/libweston-desktop.c b/libweston-desktop/libweston-desktop.c
index 4583ede..0ee1139 100644
--- a/libweston-desktop/libweston-desktop.c
+++ b/libweston-desktop/libweston-desktop.c
@@ -40,6 +40,7 @@
struct weston_compositor *compositor;
struct weston_desktop_api api;
void *user_data;
+ struct wl_global *xdg_shell_v6;
struct wl_global *xdg_shell_v5;
struct wl_global *wl_shell;
};
@@ -69,6 +70,13 @@
MIN(sizeof(struct weston_desktop_api), api->struct_size);
memcpy(&desktop->api, api, desktop->api.struct_size);
+ desktop->xdg_shell_v6 =
+ weston_desktop_xdg_shell_v6_create(desktop, display);
+ if (desktop->xdg_shell_v6 == NULL) {
+ weston_desktop_destroy(desktop);
+ return NULL;
+ }
+
desktop->xdg_shell_v5 =
weston_desktop_xdg_shell_v5_create(desktop, display);
if (desktop->xdg_shell_v5 == NULL) {
@@ -98,6 +106,8 @@
wl_global_destroy(desktop->wl_shell);
if (desktop->xdg_shell_v5 != NULL)
wl_global_destroy(desktop->xdg_shell_v5);
+ if (desktop->xdg_shell_v6 != NULL)
+ wl_global_destroy(desktop->xdg_shell_v6);
free(desktop);
}