Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package sdl2-compat for openSUSE:Factory 
checked in at 2026-09-04 12:36:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sdl2-compat (Old)
 and      /work/SRC/openSUSE:Factory/.sdl2-compat.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sdl2-compat"

Fri Sep  4 12:36:51 2026 rev:12 rq:1375561 version:2.32.72

Changes:
--------
--- /work/SRC/openSUSE:Factory/sdl2-compat/sdl2-compat.changes  2026-06-10 
15:44:46.555889256 +0200
+++ /work/SRC/openSUSE:Factory/.sdl2-compat.new.1265/sdl2-compat.changes        
2026-09-04 12:37:44.832972383 +0200
@@ -1,0 +2,12 @@
+Thu Sep  3 07:58:22 UTC 2026 - Jan Engelhardt <[email protected]>
+
+- Update to release 2.32.72
+  * Fixed a crash during the menu transition in Super Mario War.
+  * Fixed menu rendering in The Ur-Quan Masters.
+  * Fixed loading screen flickering in Payday 2.
+  * Fixed the pointer position in Augustus when screen scaling is
+    enabled.
+  * Fixed an out of bounds exception in the OBS plugin
+    "input-overlay" when using the new Steam Controller.
+
+-------------------------------------------------------------------

Old:
----
  sdl2-compat-2.32.70.tar.gz
  sdl2-compat-2.32.70.tar.gz.sig

New:
----
  sdl2-compat-2.32.72.tar.gz
  sdl2-compat-2.32.72.tar.gz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ sdl2-compat.spec ++++++
--- /var/tmp/diff_new_pack.oGqf12/_old  2026-09-04 12:37:45.523996658 +0200
+++ /var/tmp/diff_new_pack.oGqf12/_new  2026-09-04 12:37:45.524996693 +0200
@@ -19,7 +19,7 @@
 %define lname libSDL2-2_0-0
 %global _lto_cflags %_lto_cflags -ffat-lto-objects
 Name:           sdl2-compat
-Version:        2.32.70
+Version:        2.32.72
 Release:        0
 Summary:        SDL-2.0 Compatibility Layer for Simple DirectMedia Layer 3.0
 License:        Zlib
@@ -43,9 +43,12 @@
 %package -n %lname
 Summary:        SDL-2.0 Compatibility Layer for Simple DirectMedia Layer 3.0
 Group:          System/Libraries
-Requires:       libSDL3-0 >= 3.2.10
-# "sdl2-compat 2.32.54: SDL3 library is too old (have 3.2.8, but
-# need at least 3.2.10). Segmentation fault (core dumped)"
+# There is a runtime check for an appropraite SDL3 base
+%ifarch %x86_64 %arm64 %loongarch64 %mips64 %power64 %sparc64 %riscv64
+Requires:       libSDL3.so.0()(64bit) >= 3.2.12
+%else
+Requires:       libSDL3.so.0 >= 3.2.12
+%endif
 
 %description -n %lname
 This is the "Simple DirectMedia Layer" library built from sdl2-compat.

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.oGqf12/_old  2026-09-04 12:37:45.556997817 +0200
+++ /var/tmp/diff_new_pack.oGqf12/_new  2026-09-04 12:37:45.558997887 +0200
@@ -1,5 +1,5 @@
-mtime: 1780932727
-commit: 91ebf83a888e03df469315bba6a1c1bcad7c698d98db4d8c9d68352e5f6a09ba
+mtime: 1788422702
+commit: 22abfb00574e82c881ff9f15de1a20a2a7cf9cee577ec2fd52b3414f82eb5ae9
 url: https://src.opensuse.org/jengelh/sdl2-compat
 revision: master
 

++++++ sdl2-compat-2.32.70.tar.gz -> sdl2-compat-2.32.72.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/.git-hash 
new/sdl2-compat-2.32.72/.git-hash
--- old/sdl2-compat-2.32.70/.git-hash   2026-06-08 17:01:06.000000000 +0200
+++ new/sdl2-compat-2.32.72/.git-hash   2026-09-02 18:25:35.000000000 +0200
@@ -1 +1 @@
-a53b6ad90ecd2d0ccfe01d5cfd2059793acf8c12
+50b45c4417f6c9cab3168a74df59ff1e8c4125ae
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/CMakeLists.txt 
new/sdl2-compat-2.32.72/CMakeLists.txt
--- old/sdl2-compat-2.32.70/CMakeLists.txt      2026-06-08 17:01:06.000000000 
+0200
+++ new/sdl2-compat-2.32.72/CMakeLists.txt      2026-09-02 18:25:35.000000000 
+0200
@@ -3,7 +3,7 @@
 #        cmake -DSDL3_INCLUDE_DIRS=/opt/SDL3/include [other stuff ....]
 
 cmake_minimum_required(VERSION 3.0...4.1)
-project(sdl2_compat VERSION 2.32.70 LANGUAGES C)
+project(sdl2_compat VERSION 2.32.72 LANGUAGES C)
 
 if(POLICY CMP0074)
   # CMP0074: find_package() uses <PackageName>_ROOT variables.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/REVISION.txt 
new/sdl2-compat-2.32.72/REVISION.txt
--- old/sdl2-compat-2.32.70/REVISION.txt        2026-06-08 17:01:06.000000000 
+0200
+++ new/sdl2-compat-2.32.72/REVISION.txt        2026-09-02 18:25:35.000000000 
+0200
@@ -1 +1 @@
-release-2.32.70-0-ga53b6ad
+release-2.32.72-0-g50b45c4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/include/SDL2/SDL_assert.h 
new/sdl2-compat-2.32.72/include/SDL2/SDL_assert.h
--- old/sdl2-compat-2.32.70/include/SDL2/SDL_assert.h   2026-01-01 
19:03:02.000000000 +0100
+++ new/sdl2-compat-2.32.72/include/SDL2/SDL_assert.h   2026-07-14 
01:39:50.000000000 +0200
@@ -84,11 +84,16 @@
 #define SDL_LINE    __LINE__
 
 /*
-sizeof (x) makes the compiler still parse the expression even without
-assertions enabled, so the code is always checked at compile time, but
+sizeof ((x) ? 1 : 0) makes the compiler still parse the expression even
+without assertions enabled, so the code is always checked at compile time, but
 doesn't actually generate code for it, so there are no side effects or
-expensive checks at run time, just the constant size of what x WOULD be,
+expensive checks at run time, just the constant size of what int would be,
 which presumably gets optimized out as unused.
+
+(The `? 1 : 0` is so this always dithers down to `sizeof (int)`...otherwise
+you'll have problems when bitfields are used as the condition, since the
+compiler will error out on the sizeof.)
+
 This also solves the problem of...
 
     int somevalue = blah();
@@ -107,7 +112,7 @@
 #endif
 
 #define SDL_disabled_assert(condition) \
-    do { (void) sizeof ((condition)); } while (SDL_NULL_WHILE_LOOP_CONDITION)
+    do { (void) sizeof ((condition) ? 1 : 0); } while 
(SDL_NULL_WHILE_LOOP_CONDITION)
 
 typedef enum
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sdl2-compat-2.32.70/include/SDL2/SDL_gamecontroller.h 
new/sdl2-compat-2.32.72/include/SDL2/SDL_gamecontroller.h
--- old/sdl2-compat-2.32.70/include/SDL2/SDL_gamecontroller.h   2026-01-01 
19:03:02.000000000 +0100
+++ new/sdl2-compat-2.32.72/include/SDL2/SDL_gamecontroller.h   2026-06-27 
22:51:50.000000000 +0200
@@ -79,6 +79,19 @@
     SDL_CONTROLLER_TYPE_MAX
 } SDL_GameControllerType;
 
+/**
+ * Types of game controller control bindings.
+ *
+ * A game controller is a collection of bindings that map arbitrary joystick
+ * buttons, axes and hat switches to specific positions on a generic
+ * console-style gamepad.
+ *
+ * \since This enum is available since SDL 2.0.0.
+ *
+ * \sa SDL_GameControllerButtonBind
+ * \sa SDL_GameControllerGetBindForAxis
+ * \sa SDL_GameControllerGetBindForButton
+ */
 typedef enum SDL_GameControllerBindType
 {
     SDL_CONTROLLER_BINDTYPE_NONE = 0,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/include/SDL2/SDL_locale.h 
new/sdl2-compat-2.32.72/include/SDL2/SDL_locale.h
--- old/sdl2-compat-2.32.70/include/SDL2/SDL_locale.h   2026-01-01 
19:03:02.000000000 +0100
+++ new/sdl2-compat-2.32.72/include/SDL2/SDL_locale.h   2026-06-27 
22:51:50.000000000 +0200
@@ -39,13 +39,25 @@
 /* *INDENT-ON* */
 #endif
 
-
+/**
+ * A struct to provide locale data.
+ *
+ * Locale data is split into a spoken language, like English, and an optional
+ * country, like Canada. The language will be in ISO-639 format (so English
+ * would be "en"), and the country, if not NULL, will be an ISO-3166 country
+ * code (so Canada would be "CA").
+ *
+ * \since This struct is available since SDL 2.0.14.
+ *
+ * \sa SDL_GetPreferredLocales
+ */
 typedef struct SDL_Locale
 {
     const char *language;  /**< A language name, like "en" for English. */
     const char *country;  /**< A country, like "US" for America. Can be NULL. 
*/
 } SDL_Locale;
 
+
 /**
  * Report the user's preferred locale.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/include/SDL2/SDL_revision.h 
new/sdl2-compat-2.32.72/include/SDL2/SDL_revision.h
--- old/sdl2-compat-2.32.70/include/SDL2/SDL_revision.h 2026-06-08 
17:01:06.000000000 +0200
+++ new/sdl2-compat-2.32.72/include/SDL2/SDL_revision.h 2026-09-02 
18:25:35.000000000 +0200
@@ -1,6 +1,6 @@
 #ifdef SDL_VENDOR_INFO
-#define SDL_REVISION "release-2.32.70-0-ga53b6ad (" SDL_VENDOR_INFO ")"
+#define SDL_REVISION "release-2.32.72-0-g50b45c4 (" SDL_VENDOR_INFO ")"
 #else
-#define SDL_REVISION "release-2.32.70-0-ga53b6ad"
+#define SDL_REVISION "release-2.32.72-0-g50b45c4"
 #endif
 #define SDL_REVISION_NUMBER 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/include/SDL2/SDL_stdinc.h 
new/sdl2-compat-2.32.72/include/SDL2/SDL_stdinc.h
--- old/sdl2-compat-2.32.70/include/SDL2/SDL_stdinc.h   2026-01-01 
19:03:02.000000000 +0100
+++ new/sdl2-compat-2.32.72/include/SDL2/SDL_stdinc.h   2026-06-27 
22:51:50.000000000 +0200
@@ -178,12 +178,18 @@
 /* @{ */
 
 #ifdef __CC_ARM
+#ifndef SDL_WIKI_DOCUMENTATION_SECTION
 /* ARM's compiler throws warnings if we use an enum: like "SDL_bool x = a < 
b;" */
 #define SDL_FALSE 0
 #define SDL_TRUE 1
 typedef int SDL_bool;
+#endif
 #else
-typedef enum
+
+/**
+ * A boolean (true/false) type.
+ */
+typedef enum SDL_bool
 {
     SDL_FALSE = 0,
     SDL_TRUE = 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/include/SDL2/SDL_version.h 
new/sdl2-compat-2.32.72/include/SDL2/SDL_version.h
--- old/sdl2-compat-2.32.70/include/SDL2/SDL_version.h  2026-06-08 
17:01:06.000000000 +0200
+++ new/sdl2-compat-2.32.72/include/SDL2/SDL_version.h  2026-09-02 
18:25:35.000000000 +0200
@@ -58,7 +58,7 @@
 */
 #define SDL_MAJOR_VERSION   2
 #define SDL_MINOR_VERSION   32
-#define SDL_PATCHLEVEL      70
+#define SDL_PATCHLEVEL      72
 
 /**
  * Macro to determine SDL version program was compiled against.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/src/Makefile.darwin 
new/sdl2-compat-2.32.72/src/Makefile.darwin
--- old/sdl2-compat-2.32.70/src/Makefile.darwin 2026-06-08 17:01:06.000000000 
+0200
+++ new/sdl2-compat-2.32.72/src/Makefile.darwin 2026-09-02 18:25:35.000000000 
+0200
@@ -20,7 +20,7 @@
 LDFLAGS = -dynamiclib -Wl,-undefined,error -Wl,-single_module
 #LDFLAGS+= -Wl,-headerpad_max_install_names
 LDFLAGS+= -Wl,-install_name,"/usr/local/lib/$(DYLIB)"
-LDFLAGS+= -Wl,-compatibility_version,3201.0 -Wl,-current_version,3201.70
+LDFLAGS+= -Wl,-compatibility_version,3201.0 -Wl,-current_version,3201.72
 LDLIBS  = -Wl,-framework,AppKit
 # this is needed for x86_64 - cross-gcc might not add it.
 #LDLIBS += -Wl,-lbundle1.o
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/src/Makefile.linux 
new/sdl2-compat-2.32.72/src/Makefile.linux
--- old/sdl2-compat-2.32.70/src/Makefile.linux  2026-06-08 17:01:06.000000000 
+0200
+++ new/sdl2-compat-2.32.72/src/Makefile.linux  2026-09-02 18:25:35.000000000 
+0200
@@ -13,7 +13,7 @@
 LDFLAGS+= -Wl,--no-undefined
 LDLIBS  = -ldl
 
-SHLIB = libSDL2-2.0.so.0.3200.70
+SHLIB = libSDL2-2.0.so.0.3200.72
 
 OBJ = sdl2_compat.o dynapi/SDL_dynapi.o
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/src/sdl2_compat.c 
new/sdl2-compat-2.32.72/src/sdl2_compat.c
--- old/sdl2-compat-2.32.70/src/sdl2_compat.c   2026-06-08 17:01:06.000000000 
+0200
+++ new/sdl2-compat-2.32.72/src/sdl2_compat.c   2026-09-02 18:25:35.000000000 
+0200
@@ -58,7 +58,7 @@
  * The number might increment past 90 if there are a ton of releases.
  */
 #define SDL2_COMPAT_VERSION_MINOR 32
-#define SDL2_COMPAT_VERSION_PATCH 70
+#define SDL2_COMPAT_VERSION_PATCH 72
 
 #ifndef SDL2COMPAT_REVISION
 #define SDL2COMPAT_REVISION "SDL-2." STRINGIFY(SDL2_COMPAT_VERSION_MINOR) "." 
STRINGIFY(SDL2_COMPAT_VERSION_PATCH) "-no-vcs"
@@ -270,18 +270,27 @@
 }
 
 /* you can use SDL3_strlen once we're past startup. */
-static int SDL2Compat_strlen(const char *str)
+static size_t SDL2Compat_strlen(const char *str)
 {
-    volatile int retval = 0;  /* volatile prevents gcc from optimizing this 
into strlen() */
-    while (str[retval]) {
-        retval++;
+#ifdef SDL_PLATFORM_WINDOWS
+    /* volatile prevents gcc from optimizing this into a call to the
+     * strlen() library function, which we are intentionally avoiding on
+     * Windows: see #340 */
+    volatile const char *ptr = str;
+    while (*ptr) {
+        ++ptr;
     }
-    return retval;
+    return (size_t)(ptr - str);
+#else
+    /* On other platforms we rely on libc */
+    return strlen (str);
+#endif
 }
 
 /* you can use SDL3_strcmp once we're past startup. */
 static bool SDL2Compat_strequal(const char *a, const char *b)
 {
+#ifdef SDL_PLATFORM_WINDOWS
     while (true) {
         const char cha = *a;
         if (cha != *b) {
@@ -293,11 +302,15 @@
         b++;
     }
     return true;
+#else
+    return (strcmp (a, b) == 0);
+#endif
 }
 
 /* you can use SDL3_strrchr once we're past startup. */
 static char *SDL2Compat_strrchr(const char *string, int c)
 {
+#ifdef SDL_PLATFORM_WINDOWS
     const char *bufp = string + SDL2Compat_strlen(string);
     while (bufp >= string) {
         if (*bufp == c) {
@@ -306,6 +319,9 @@
         --bufp;
     }
     return NULL;
+#else
+    return (char *) strrchr (string, c);
+#endif
 }
 
 /* log a string using platform-specific code for before SDL3 is fully 
available. */
@@ -385,11 +401,11 @@
         /* I don't know if this is the _right_ order to try, but this seems 
reasonable */
         static const char * const dylib_locations[] = {
             "@loader_path/" SDL3_LIBNAME, /* 
MyApp.app/Contents/MacOS/libSDL3.dylib */
-            "@loader_path/../Frameworks/" SDL3_FRAMEWORK, /* 
MyApp.app/Contents/Frameworks/SDL2.framework */
+            "@loader_path/../Frameworks/" SDL3_FRAMEWORK, /* 
MyApp.app/Contents/Frameworks/SDL3.framework */
             "@executable_path/" SDL3_LIBNAME, /* 
MyApp.app/Contents/MacOS/libSDL3.dylib */
-            "@executable_path/../Frameworks/" SDL3_FRAMEWORK, /* 
MyApp.app/Contents/Frameworks/SDL2.framework */
-            NULL,  /* /Users/username/Library/Frameworks/SDL2.framework */
-            "/Library/Frameworks" SDL3_FRAMEWORK, /* 
/Library/Frameworks/SDL2.framework */
+            "@executable_path/../Frameworks/" SDL3_FRAMEWORK, /* 
MyApp.app/Contents/Frameworks/SDL3.framework */
+            NULL,  /* /Users/username/Library/Frameworks/SDL3.framework */
+            "/Library/Frameworks/" SDL3_FRAMEWORK, /* 
/Library/Frameworks/SDL3.framework */
             SDL3_LIBNAME /* oh well, anywhere the system can see the .dylib 
(/usr/local/lib or whatever) */
         };
 
@@ -425,6 +441,7 @@
     }
 #elif defined(SDL_PLATFORM_UNIX)
     #include <dlfcn.h>
+    #include <SDL3/SDL_dlopennote.h>
     #ifdef __ANDROID__
         #define SDL3_LIBNAME "libSDL3.so"
     #else
@@ -434,6 +451,14 @@
     #define LoadSDL3Library() ((Loaded_SDL3 = dlopen(SDL3_LIBNAME, 
RTLD_LOCAL|RTLD_NOW)) != NULL)
     #define LookupSDL3Sym(sym) dlsym(Loaded_SDL3, sym)
     #define CloseSDL3Library() { if (Loaded_SDL3) { dlclose(Loaded_SDL3); 
Loaded_SDL3 = NULL; } }
+    #ifdef SDL_ELF_NOTE_DLOPEN
+        SDL_ELF_NOTE_DLOPEN(
+            "SDL3",
+            "sdl2-compat translates SDL2 API calls into equivalent SDL3 calls",
+            SDL_ELF_NOTE_DLOPEN_PRIORITY_REQUIRED,
+            SDL3_LIBNAME
+        )
+    #endif
 #else
     #error Please define your platform.
 #endif
@@ -543,6 +568,11 @@
     /* X4: Foundations assumes X11 and exits with an error otherwise
      * https://github.com/libsdl-org/sdl2-compat/issues/555 */
     {"X4", SDL_HINT_VIDEO_DRIVER, "x11"},
+
+    /* Payday 2 wants to do most of its video subsystem stuff from a 
background thread, including
+     * CreateWindow, PollEvent, and GL_SwapWindow, and this upsets Wayland.
+     * https://github.com/libsdl-org/sdl2-compat/issues/537 */
+    {"payday2_release", SDL_HINT_VIDEO_DRIVER, "x11"},
 #endif
 };
 
@@ -895,7 +925,7 @@
     if (WantDebugLogging) {
         const char *lead = "sdl2-compat: This app appears to be named:";
         char msg[256];
-        if ((SDL2Compat_strlen(lead) + SDL2Compat_strlen(exe_name) + 2) <= 
(int) (sizeof (msg))) {
+        if (SDL2Compat_strlen(exe_name) <= sizeof (msg) - 
(SDL2Compat_strlen(lead) + 2)) {
             char *p = msg;
             p = SDL2COMPAT_stpcpy(p, lead);
             p = SDL2COMPAT_stpcpy(p, " ");
@@ -2306,22 +2336,18 @@
     case SDL_EVENT_MOUSE_MOTION:
         renderer = 
SDL3_GetRenderer(SDL3_GetWindowFromID(event3->motion.windowID));
         if (renderer) {
-            SDL_RendererLogicalPresentation mode = 
SDL_LOGICAL_PRESENTATION_DISABLED;
-            SDL3_GetRenderLogicalPresentation(renderer, NULL, NULL, &mode);
-            if (mode != SDL_LOGICAL_PRESENTATION_DISABLED) {
-                SDL3_memcpy(&cvtevent3, event3, sizeof (SDL_Event));
-                SDL3_ConvertEventToRenderCoordinates(renderer, &cvtevent3);
-                if 
(SDL3_GetBooleanProperty(SDL3_GetRendererProperties(renderer), 
PROP_RENDERER_RELATIVE_SCALING, true)) {
-                    /* Accumulate scaled relative motion */
-                    residual_motion_x = SDL3_modff(residual_motion_x + 
cvtevent3.motion.xrel, &cvtevent3.motion.xrel);
-                    residual_motion_y = SDL3_modff(residual_motion_y + 
cvtevent3.motion.yrel, &cvtevent3.motion.yrel);
-                } else {
-                    /* Undo the relative scaling that 
SDL_ConvertEventToRenderCoordinates() performed */
-                    cvtevent3.motion.xrel = event3->motion.xrel;
-                    cvtevent3.motion.yrel = event3->motion.yrel;
-                }
-                event3 = &cvtevent3;
+            SDL3_memcpy(&cvtevent3, event3, sizeof (SDL_Event));
+            SDL3_ConvertEventToRenderCoordinates(renderer, &cvtevent3);
+            if (SDL3_GetBooleanProperty(SDL3_GetRendererProperties(renderer), 
PROP_RENDERER_RELATIVE_SCALING, true)) {
+                /* Accumulate scaled relative motion */
+                residual_motion_x = SDL3_modff(residual_motion_x + 
cvtevent3.motion.xrel, &cvtevent3.motion.xrel);
+                residual_motion_y = SDL3_modff(residual_motion_y + 
cvtevent3.motion.yrel, &cvtevent3.motion.yrel);
+            } else {
+                /* Undo the relative scaling that 
SDL_ConvertEventToRenderCoordinates() performed */
+                cvtevent3.motion.xrel = event3->motion.xrel;
+                cvtevent3.motion.yrel = event3->motion.yrel;
             }
+            event3 = &cvtevent3;
         }
         if (UseSDL2PrereleaseEvents) {
             SDL2PRERELEASE_MouseMotionEvent *motion = 
(SDL2PRERELEASE_MouseMotionEvent *)&event2->motion;
@@ -2342,13 +2368,9 @@
     case SDL_EVENT_MOUSE_BUTTON_UP:
         renderer = 
SDL3_GetRenderer(SDL3_GetWindowFromID(event3->button.windowID));
         if (renderer) {
-            SDL_RendererLogicalPresentation mode = 
SDL_LOGICAL_PRESENTATION_DISABLED;
-            SDL3_GetRenderLogicalPresentation(renderer, NULL, NULL, &mode);
-            if (mode != SDL_LOGICAL_PRESENTATION_DISABLED) {
-                SDL3_memcpy(&cvtevent3, event3, sizeof (SDL_Event));
-                SDL3_ConvertEventToRenderCoordinates(renderer, &cvtevent3);
-                event3 = &cvtevent3;
-            }
+            SDL3_memcpy(&cvtevent3, event3, sizeof(SDL_Event));
+            SDL3_ConvertEventToRenderCoordinates(renderer, &cvtevent3);
+            event3 = &cvtevent3;
         }
         if (UseSDL2PrereleaseEvents) {
             SDL2PRERELEASE_MouseButtonEvent *button = 
(SDL2PRERELEASE_MouseButtonEvent *)&event2->button;
@@ -2365,13 +2387,9 @@
     case SDL_EVENT_MOUSE_WHEEL:
         renderer = 
SDL3_GetRenderer(SDL3_GetWindowFromID(event3->wheel.windowID));
         if (renderer) {
-            SDL_RendererLogicalPresentation mode = 
SDL_LOGICAL_PRESENTATION_DISABLED;
-            SDL3_GetRenderLogicalPresentation(renderer, NULL, NULL, &mode);
-            if (mode != SDL_LOGICAL_PRESENTATION_DISABLED) {
-                SDL3_memcpy(&cvtevent3, event3, sizeof (SDL_Event));
-                SDL3_ConvertEventToRenderCoordinates(renderer, &cvtevent3);
-                event3 = &cvtevent3;
-            }
+            SDL3_memcpy(&cvtevent3, event3, sizeof(SDL_Event));
+            SDL3_ConvertEventToRenderCoordinates(renderer, &cvtevent3);
+            event3 = &cvtevent3;
         }
         if (UseSDL2PrereleaseEvents) {
             SDL2PRERELEASE_MouseWheelEvent *wheel = 
(SDL2PRERELEASE_MouseWheelEvent *)&event2->wheel;
@@ -2802,6 +2820,14 @@
         case SDL_EVENT_CAMERA_DEVICE_DENIED:
         case SDL_EVENT_RENDER_DEVICE_LOST:
             return false;
+        case SDL_EVENT_GAMEPAD_BUTTON_DOWN:
+        case SDL_EVENT_GAMEPAD_BUTTON_UP:
+            if (event3->gbutton.button >= SDL_CONTROLLER_BUTTON_MAX) {
+                return false;
+            }
+            break;
+        default:
+            break;
     }
 
     GestureProcessEvent(event3);  /* this might need to generate new gesture 
events from touch input. */
@@ -4550,6 +4576,7 @@
     SDL_Surface *dst = Surface2to3(dst2);
     int result = SDL3_BlitSurfaceUnchecked(src, srcrect, dst, dstrect) ? 0 : 
-1;
     SynchronizeSurface3to2(src, src2);
+    SynchronizeSurface3to2(dst, dst2);
     return result;
 }
 
@@ -4720,6 +4747,7 @@
     SDL_Surface *dst = Surface2to3(dst2);
     int result = SDL3_BlitSurfaceUncheckedScaled(src, srcrect, dst, dstrect, 
SDL_SCALEMODE_NEAREST) ? 0 : -1;
     SynchronizeSurface3to2(src, src2);
+    SynchronizeSurface3to2(dst, dst2);
     return result;
 }
 
@@ -10341,7 +10369,14 @@
 SDL_DECLSPEC int SDLCALL
 SDL_GetColorKey(SDL2_Surface *surface, Uint32 *key)
 {
-    return SDL3_GetSurfaceColorKey(Surface2to3(surface), key) ? 0 : -1;
+    Uint32 local_key;
+    if (SDL3_GetSurfaceColorKey(Surface2to3(surface), &local_key)) {
+        if (key) {
+            *key = local_key;
+        }
+        return 0;
+    }
+    return -1;
 }
 
 SDL_DECLSPEC int SDLCALL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/src/sdl2_compat.h 
new/sdl2-compat-2.32.72/src/sdl2_compat.h
--- old/sdl2-compat-2.32.70/src/sdl2_compat.h   2026-01-01 19:03:02.000000000 
+0100
+++ new/sdl2-compat-2.32.72/src/sdl2_compat.h   2026-06-12 23:53:37.000000000 
+0200
@@ -179,6 +179,33 @@
     SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_JOYCON_PAIR
 } SDL_GameControllerType;
 
+typedef enum SDL2_GameControllerButton
+{
+    SDL_CONTROLLER_BUTTON_INVALID = -1,
+    SDL_CONTROLLER_BUTTON_A,
+    SDL_CONTROLLER_BUTTON_B,
+    SDL_CONTROLLER_BUTTON_X,
+    SDL_CONTROLLER_BUTTON_Y,
+    SDL_CONTROLLER_BUTTON_BACK,
+    SDL_CONTROLLER_BUTTON_GUIDE,
+    SDL_CONTROLLER_BUTTON_START,
+    SDL_CONTROLLER_BUTTON_LEFTSTICK,
+    SDL_CONTROLLER_BUTTON_RIGHTSTICK,
+    SDL_CONTROLLER_BUTTON_LEFTSHOULDER,
+    SDL_CONTROLLER_BUTTON_RIGHTSHOULDER,
+    SDL_CONTROLLER_BUTTON_DPAD_UP,
+    SDL_CONTROLLER_BUTTON_DPAD_DOWN,
+    SDL_CONTROLLER_BUTTON_DPAD_LEFT,
+    SDL_CONTROLLER_BUTTON_DPAD_RIGHT,
+    SDL_CONTROLLER_BUTTON_MISC1,    /* Xbox Series X share button, PS5 
microphone button, Nintendo Switch Pro capture button, Amazon Luna microphone 
button */
+    SDL_CONTROLLER_BUTTON_PADDLE1,  /* Xbox Elite paddle P1 (upper left, 
facing the back) */
+    SDL_CONTROLLER_BUTTON_PADDLE2,  /* Xbox Elite paddle P3 (upper right, 
facing the back) */
+    SDL_CONTROLLER_BUTTON_PADDLE3,  /* Xbox Elite paddle P2 (lower left, 
facing the back) */
+    SDL_CONTROLLER_BUTTON_PADDLE4,  /* Xbox Elite paddle P4 (lower right, 
facing the back) */
+    SDL_CONTROLLER_BUTTON_TOUCHPAD, /* PS4/PS5 touchpad button */
+    SDL_CONTROLLER_BUTTON_MAX
+} SDL2_GameControllerButton;
+
 typedef SDL_Gamepad SDL_GameController;  /* since they're opaque types, for 
simplicity we just typedef it here and use the old types in sdl3_syms.h */
 typedef SDL_GamepadAxis SDL_GameControllerAxis;
 typedef SDL_GamepadButton SDL_GameControllerButton;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/src/sdl3_include_wrapper.h 
new/sdl2-compat-2.32.72/src/sdl3_include_wrapper.h
--- old/sdl2-compat-2.32.70/src/sdl3_include_wrapper.h  2026-05-17 
07:25:30.000000000 +0200
+++ new/sdl2-compat-2.32.72/src/sdl3_include_wrapper.h  2026-07-14 
01:39:32.000000000 +0200
@@ -1322,6 +1322,20 @@
 #define SDL_LoadJPG_IO IGNORE_THIS_VERSION_OF_SDL_LoadJPG_IO
 #define SDL_LoadJPG IGNORE_THIS_VERSION_OF_SDL_LoadJPG
 #define SDL_HasSVE2 IGNORE_THIS_VERSION_OF_SDL_HasSVE2
+#define SDL_GamepadHasCapSense IGNORE_THIS_VERSION_OF_SDL_GamepadHasCapSense
+#define SDL_GetGamepadCapSense IGNORE_THIS_VERSION_OF_SDL_GetGamepadCapSense
+#define SDL_aligned_alloc_zero IGNORE_THIS_VERSION_OF_SDL_aligned_alloc_zero
+#define SDL_wcstoul IGNORE_THIS_VERSION_OF_SDL_wcstoul
+#define SDL_wcstoll IGNORE_THIS_VERSION_OF_SDL_wcstoll
+#define SDL_wcstoull IGNORE_THIS_VERSION_OF_SDL_wcstoull
+#define SDL_RequestNotificationPermission 
IGNORE_THIS_VERSION_OF_SDL_RequestNotificationPermission
+#define SDL_ShowNotificationWithProperties 
IGNORE_THIS_VERSION_OF_SDL_ShowNotificationWithProperties
+#define SDL_ShowNotification IGNORE_THIS_VERSION_OF_SDL_ShowNotification
+#define SDL_RemoveNotification IGNORE_THIS_VERSION_OF_SDL_RemoveNotification
+#define SDL_GetDeviceFormFactor IGNORE_THIS_VERSION_OF_SDL_GetDeviceFormFactor
+#define SDL_GetDeviceFormFactorName 
IGNORE_THIS_VERSION_OF_SDL_GetDeviceFormFactorName
+#define SDL_IsUbuntuTouch IGNORE_THIS_VERSION_OF_SDL_IsUbuntuTouch
+#define SDL_GetNumProperties IGNORE_THIS_VERSION_OF_SDL_GetNumProperties
 
 
 #define SDL_FUNCTION_POINTER_IS_VOID_POINTER 1
@@ -6504,6 +6518,62 @@
 #undef SDL_HasSVE2
 #endif
 
+#ifdef SDL_GamepadHasCapSense
+#undef SDL_GamepadHasCapSense
+#endif
+
+#ifdef SDL_GetGamepadCapSense
+#undef SDL_GetGamepadCapSense
+#endif
+
+#ifdef SDL_aligned_alloc_zero
+#undef SDL_aligned_alloc_zero
+#endif
+
+#ifdef SDL_wcstoul
+#undef SDL_wcstoul
+#endif
+
+#ifdef SDL_wcstoll
+#undef SDL_wcstoll
+#endif
+
+#ifdef SDL_wcstoull
+#undef SDL_wcstoull
+#endif
+
+#ifdef SDL_RequestNotificationPermission
+#undef SDL_RequestNotificationPermission
+#endif
+
+#ifdef SDL_ShowNotificationWithProperties
+#undef SDL_ShowNotificationWithProperties
+#endif
+
+#ifdef SDL_ShowNotification
+#undef SDL_ShowNotification
+#endif
+
+#ifdef SDL_RemoveNotification
+#undef SDL_RemoveNotification
+#endif
+
+#ifdef SDL_GetDeviceFormFactor
+#undef SDL_GetDeviceFormFactor
+#endif
+
+#ifdef SDL_GetDeviceFormFactorName
+#undef SDL_GetDeviceFormFactorName
+#endif
+
+#ifdef SDL_IsUbuntuTouch
+#undef SDL_IsUbuntuTouch
+#endif
+
+#ifdef SDL_GetNumProperties
+#undef SDL_GetNumProperties
+#endif
+
 
 /* see at top.
  */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.70/src/version.rc 
new/sdl2-compat-2.32.72/src/version.rc
--- old/sdl2-compat-2.32.70/src/version.rc      2026-06-08 17:01:06.000000000 
+0200
+++ new/sdl2-compat-2.32.72/src/version.rc      2026-09-02 18:25:35.000000000 
+0200
@@ -3,8 +3,8 @@
 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,32,70,0
- PRODUCTVERSION 2,32,70,0
+ FILEVERSION 2,32,72,0
+ PRODUCTVERSION 2,32,72,0
  FILEFLAGSMASK 0x3fL
  FILEFLAGS 0x0L
  FILEOS 0x40004L
@@ -17,12 +17,12 @@
         BEGIN
             VALUE "CompanyName", "\0"
             VALUE "FileDescription", "SDL\0"
-            VALUE "FileVersion", "2, 32, 70, 0\0"
+            VALUE "FileVersion", "2, 32, 72, 0\0"
             VALUE "InternalName", "SDL\0"
             VALUE "LegalCopyright", "Copyright (C) 2026 Sam Lantinga\0"
             VALUE "OriginalFilename", "SDL2.dll\0"
             VALUE "ProductName", "Simple DirectMedia Layer 2.0 wrapper\0"
-            VALUE "ProductVersion", "2, 32, 70, 0\0"
+            VALUE "ProductVersion", "2, 32, 72, 0\0"
         END
     END
     BLOCK "VarFileInfo"

Reply via email to