Browse Source

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.
Frank Praznik 1 năm trước cách đây
mục cha
commit
2a1058713c

+ 4 - 4
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)

+ 1 - 1
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 */

+ 1 - 1
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 *,\

+ 3 - 3
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
     }