From a68408367cf5e254d981e1d43ba261b9aade6166 Mon Sep 17 00:00:00 2001 From: Marius Vlad Date: Thu, 17 Aug 2023 14:59:24 +0300 Subject: [PATCH] desktop: Fix Xwayland build Turns out weston doesn't install xwayland-api header if Xwayland is not installed, which is a shame, and should be rectified. Meanwhile, let's guard access to the header and the API that the header exports. Signed-off-by: Marius Vlad Change-Id: I77638b263483628f8cc7a3dcbd08c8947db1d86b --- src/desktop.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/desktop.c b/src/desktop.c index 0186e9f..3fd09bc 100644 --- a/src/desktop.c +++ b/src/desktop.c @@ -30,7 +30,9 @@ #include "shared/helpers.h" #include #include +#ifdef BUILD_XWAYLAND #include +#endif #include "agl-shell-desktop-server-protocol.h" @@ -556,6 +558,7 @@ ivi_shell_destroy(struct wl_listener *listener, void *data) static void transform_handler(struct wl_listener *listener, void *data) { +#ifdef BUILD_XWAYLAND struct weston_surface *surface = data; struct ivi_surface *ivisurf = get_ivi_shell_surface(surface); const struct weston_xwayland_surface_api *api; @@ -580,11 +583,13 @@ transform_handler(struct wl_listener *listener, void *data) y = ivisurf->view->geometry.y; api->send_position(surface, x, y); +#endif } bool is_shell_surface_xwayland(struct ivi_surface *surf) { +#ifdef BUILD_XWAYLAND const struct weston_xwayland_surface_api *api; struct ivi_compositor *ivi = surf->ivi; struct weston_surface *surface; @@ -596,6 +601,9 @@ is_shell_surface_xwayland(struct ivi_surface *surf) surface = weston_desktop_surface_get_surface(surf->dsurface); return api->is_xwayland_surface(surface); +#else + return false; +#endif } int -- 2.16.6