SDL: Fixed building if SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_SCROLLINFO isn't defined

From 599bd1a6aa0baffa491680038d282e0e9b1f6c83 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Thu, 6 Nov 2025 11:12:05 -0800
Subject: [PATCH] Fixed building if
 SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_SCROLLINFO isn't defined

---
 src/video/x11/SDL_x11xinput2.c | 50 +++++++++-------------------------
 1 file changed, 13 insertions(+), 37 deletions(-)

diff --git a/src/video/x11/SDL_x11xinput2.c b/src/video/x11/SDL_x11xinput2.c
index 46d0c1a407c78..a4487dcfabc6a 100644
--- a/src/video/x11/SDL_x11xinput2.c
+++ b/src/video/x11/SDL_x11xinput2.c
@@ -34,16 +34,15 @@
 
 #ifdef SDL_VIDEO_DRIVER_X11_XINPUT2
 static bool xinput2_initialized;
-
-#ifdef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH
+#endif
+#if defined(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_SCROLLINFO) || defined(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH)
+static bool xinput2_scrolling_supported;
 static bool xinput2_multitouch_supported;
 #endif
 #ifdef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_GESTURE
-static int xinput2_gesture_supported = 0;
+static bool xinput2_gesture_supported;
 #endif
 
-static int X11_Xinput2IsGestureSupported(void);
-
 /* Opcode returned X11_XQueryExtension
  * It will be used in event processing
  * to know that the event came from
@@ -78,7 +77,6 @@ typedef struct
 
 static SDL_XInput2ScrollableDevice *scrollable_devices;
 static int scrollable_device_count;
-static bool xinput2_scrolling_supported;
 #endif
 
 static void parse_relative_valuators(SDL_XInput2DeviceInfo *devinfo, const XIRawEvent *rawev)
@@ -228,18 +226,6 @@ static void xinput2_normalize_touch_coordinates(SDL_Window *window, double in_x,
 }
 #endif // SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH
 
-static bool X11_Xinput2IsMultitouchSupported(void)
-{
-    return xinput2_initialized && xinput2_multitouch_supported;
-}
-
-static bool X11_Xinput2IsScrollingSupported(void)
-{
-    return xinput2_initialized && xinput2_scrolling_supported;
-}
-
-#endif // SDL_VIDEO_DRIVER_X11_XINPUT2
-
 bool X11_InitXinput2(SDL_VideoDevice *_this)
 {
 #ifdef SDL_VIDEO_DRIVER_X11_XINPUT2
@@ -280,7 +266,6 @@ bool X11_InitXinput2(SDL_VideoDevice *_this)
 #ifdef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_SCROLLINFO // Smooth scrolling needs XInput 2.1
     xinput2_scrolling_supported = xinput2_version_atleast(version, 2, 1);
 #endif
-
 #ifdef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH // Multitouch needs XInput 2.2
     xinput2_multitouch_supported = xinput2_version_atleast(version, 2, 2);
 #endif
@@ -306,14 +291,14 @@ bool X11_InitXinput2(SDL_VideoDevice *_this)
     XISetMask(mask, XI_RawButtonRelease);
 
 #ifdef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_SCROLLINFO
-    if (X11_Xinput2IsScrollingSupported()) {
+    if (xinput2_scrolling_supported) {
         XISetMask(mask, XI_Motion);
     }
 #endif
 
 #ifdef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH
     // Enable raw touch events if supported
-    if (X11_Xinput2IsMultitouchSupported()) {
+    if (xinput2_multitouch_supported) {
         XISetMask(mask, XI_RawTouchBegin);
         XISetMask(mask, XI_RawTouchUpdate);
         XISetMask(mask, XI_RawTouchEnd);
@@ -773,7 +758,7 @@ void X11_Xinput2Select(SDL_VideoDevice *_this, SDL_Window *window)
     XIEventMask eventmask;
     unsigned char mask[5] = { 0, 0, 0, 0, 0 };
 
-    if (!X11_Xinput2IsScrollingSupported() && !X11_Xinput2IsMultitouchSupported()) {
+    if (!xinput2_scrolling_supported && !xinput2_multitouch_supported) {
         return;
     }
 
@@ -781,7 +766,7 @@ void X11_Xinput2Select(SDL_VideoDevice *_this, SDL_Window *window)
     eventmask.mask_len = sizeof(mask);
     eventmask.mask = mask;
 
-    if (X11_Xinput2IsScrollingSupported()) {
+    if (xinput2_scrolling_supported) {
         /* Track enter events that inform us that we need to update
          * the previous scroll coordinates since we cannot track
          * them outside our window.
@@ -789,20 +774,20 @@ void X11_Xinput2Select(SDL_VideoDevice *_this, SDL_Window *window)
         XISetMask(mask, XI_Enter);
     }
 
-    if (X11_Xinput2IsMultitouchSupported()) {
+    if (xinput2_multitouch_supported) {
         XISetMask(mask, XI_TouchBegin);
         XISetMask(mask, XI_TouchUpdate);
         XISetMask(mask, XI_TouchEnd);
         XISetMask(mask, XI_Motion);
     }
 
-    if (X11_Xinput2IsGestureSupported()) {
 #ifdef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_GESTURE
+    if (xinput2_gesture_supported) {
         XISetMask(mask, XI_GesturePinchBegin);
         XISetMask(mask, XI_GesturePinchUpdate);
         XISetMask(mask, XI_GesturePinchEnd);
-#endif
     }
+#endif
 
     X11_XISelectEvents(data->display, window_data->xwindow, &eventmask, 1);
 #endif
@@ -866,15 +851,6 @@ bool X11_Xinput2SelectMouseAndKeyboard(SDL_VideoDevice *_this, SDL_Window *windo
     return false;
 }
 
-int X11_Xinput2IsGestureSupported(void)
-{
-#ifdef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_GESTURE
-    return xinput2_initialized && xinput2_gesture_supported;
-#else
-    return 0;
-#endif
-}
-
 void X11_Xinput2GrabTouch(SDL_VideoDevice *_this, SDL_Window *window)
 {
 #ifdef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH
@@ -885,7 +861,7 @@ void X11_Xinput2GrabTouch(SDL_VideoDevice *_this, SDL_Window *window)
     XIGrabModifiers mods;
     XIEventMask eventmask;
 
-    if (!X11_Xinput2IsMultitouchSupported()) {
+    if (!xinput2_multitouch_supported) {
         return;
     }
 
@@ -913,7 +889,7 @@ void X11_Xinput2UngrabTouch(SDL_VideoDevice *_this, SDL_Window *window)
 
     XIGrabModifiers mods;
 
-    if (!X11_Xinput2IsMultitouchSupported()) {
+    if (!xinput2_multitouch_supported) {
         return;
     }