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.
This commit is contained in:
Frank Praznik 2023-09-25 12:02:06 -04:00
parent f5886f11d0
commit 2a1058713c
4 changed files with 9 additions and 9 deletions

View File

@ -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)

View File

@ -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 */

View File

@ -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 *,\

View File

@ -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
}