diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2023-08-17 14:59:24 +0300 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2023-08-17 15:09:44 +0300 |
commit | a68408367cf5e254d981e1d43ba261b9aade6166 (patch) | |
tree | 8b47f5925eb041edbede034c4e95f2ea24d0db6d | |
parent | 5ec94158612e8ba9aed0de43c9f5f40d6f61f0cd (diff) |
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 <marius.vlad@collabora.com>
Change-Id: I77638b263483628f8cc7a3dcbd08c8947db1d86b
-rw-r--r-- | src/desktop.c | 8 |
1 files changed, 8 insertions, 0 deletions
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 <libweston/libweston.h> #include <libweston-desktop/libweston-desktop.h> +#ifdef BUILD_XWAYLAND #include <libweston/xwayland-api.h> +#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 |