From 2a1058713c6ae28d1e54195fc522f3f447173963 Mon Sep 17 00:00:00 2001 From: Frank Praznik Date: Mon, 25 Sep 2023 12:02:06 -0400 Subject: [PATCH] Bump libdecor feature check to look for 0.2.0 The version of libdecor tagged with support for the suspended event and min/max getters is 0.2.0, so update the checks to reflect this. --- cmake/sdlchecks.cmake | 8 ++++---- include/build_config/SDL_build_config.h.cmake | 2 +- src/video/wayland/SDL_waylandsym.h | 2 +- src/video/wayland/SDL_waylandwindow.c | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake index 478c56914..4d9031b19 100644 --- a/cmake/sdlchecks.cmake +++ b/cmake/sdlchecks.cmake @@ -560,10 +560,10 @@ macro(CheckWayland) set(LibDecor_PKG_CONFIG_SPEC libdecor-0) pkg_check_modules(PC_LIBDECOR IMPORTED_TARGET ${LibDecor_PKG_CONFIG_SPEC}) if(PC_LIBDECOR_FOUND) - # Version 0.1.2 or higher is needed for suspended window state and statically linked min/max getters. - if(PC_LIBDECOR_VERSION VERSION_GREATER_EQUAL "0.1.2") - set(SDL_HAVE_LIBDECOR_VER_0_1_2 1) - set(LibDecor_PKG_CONFIG_SPEC "libdecor-0>=0.1.2") + # Version 0.2.0 or higher is needed for suspended window state and statically linked min/max getters. + if(PC_LIBDECOR_VERSION VERSION_GREATER_EQUAL "0.2.0") + set(SDL_HAVE_LIBDECOR_VER_0_2_0 1) + set(LibDecor_PKG_CONFIG_SPEC "libdecor-0>=0.2.0") endif() set(HAVE_WAYLAND_LIBDECOR TRUE) set(HAVE_LIBDECOR_H 1) diff --git a/include/build_config/SDL_build_config.h.cmake b/include/build_config/SDL_build_config.h.cmake index 9ce6c437a..017e06b06 100644 --- a/include/build_config/SDL_build_config.h.cmake +++ b/include/build_config/SDL_build_config.h.cmake @@ -555,7 +555,7 @@ #cmakedefine SDL_VIDEO_VITA_PVR @SDL_VIDEO_VITA_PVR@ #cmakedefine SDL_VIDEO_VITA_PVR_OGL @SDL_VIDEO_VITA_PVR_OGL@ -#cmakedefine SDL_HAVE_LIBDECOR_VER_0_1_2 @SDL_HAVE_LIBDECOR_VER_0_1_2@ +#cmakedefine SDL_HAVE_LIBDECOR_VER_0_2_0 @SDL_HAVE_LIBDECOR_VER_0_2_0@ #if !defined(HAVE_STDINT_H) && !defined(_STDINT_H_) /* Most everything except Visual Studio 2008 and earlier has stdint.h now */ diff --git a/src/video/wayland/SDL_waylandsym.h b/src/video/wayland/SDL_waylandsym.h index 494104b15..513f77a6b 100644 --- a/src/video/wayland/SDL_waylandsym.h +++ b/src/video/wayland/SDL_waylandsym.h @@ -219,7 +219,7 @@ SDL_WAYLAND_SYM(bool, libdecor_configuration_get_window_state, (struct libdecor_ enum libdecor_window_state *)) SDL_WAYLAND_SYM(int, libdecor_dispatch, (struct libdecor *, int)) -#if defined(SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_LIBDECOR) || defined(SDL_HAVE_LIBDECOR_VER_0_1_2) +#if defined(SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_LIBDECOR) || defined(SDL_HAVE_LIBDECOR_VER_0_2_0) /* Only found in libdecor 0.1.1 or higher, so failure to load them is not fatal. */ SDL_WAYLAND_SYM_OPT(void, libdecor_frame_get_min_content_size, (struct libdecor_frame *,\ int *,\ diff --git a/src/video/wayland/SDL_waylandwindow.c b/src/video/wayland/SDL_waylandwindow.c index 88e0682c5..364a8a460 100644 --- a/src/video/wayland/SDL_waylandwindow.c +++ b/src/video/wayland/SDL_waylandwindow.c @@ -880,7 +880,7 @@ static void OverrideLibdecorLimits(SDL_Window *window) if (libdecor_frame_get_min_content_size == NULL) { libdecor_frame_set_min_content_size(window->driverdata->shell_surface.libdecor.frame, window->min_w, window->min_h); } -#elif !defined(SDL_HAVE_LIBDECOR_VER_0_1_2) +#elif !defined(SDL_HAVE_LIBDECOR_VER_0_2_0) libdecor_frame_set_min_content_size(window->driverdata->shell_surface.libdecor.frame, window->min_w, window->min_h); #endif } @@ -899,7 +899,7 @@ static void LibdecorGetMinContentSize(struct libdecor_frame *frame, int *min_w, if (libdecor_frame_get_min_content_size != NULL) { libdecor_frame_get_min_content_size(frame, min_w, min_h); } -#elif defined(SDL_HAVE_LIBDECOR_VER_0_1_2) +#elif defined(SDL_HAVE_LIBDECOR_VER_0_2_0) libdecor_frame_get_min_content_size(frame, min_w, min_h); #endif } @@ -932,7 +932,7 @@ static void decoration_frame_configure(struct libdecor_frame *frame, maximized = (window_state & LIBDECOR_WINDOW_STATE_MAXIMIZED) != 0; active = (window_state & LIBDECOR_WINDOW_STATE_ACTIVE) != 0; tiled = (window_state & tiled_states) != 0; -#ifdef SDL_HAVE_LIBDECOR_VER_0_1_2 +#ifdef SDL_HAVE_LIBDECOR_VER_0_2_0 suspended = (window_state & LIBDECOR_WINDOW_STATE_SUSPENDED) != 0; #endif }