SDL: Fixed a hang reading the Xbox report descriptor on macOS (7cb03)

From 7cb03cfdc5851817c215e583feaa0709939780c4 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 9 Jun 2026 11:12:52 -0700
Subject: [PATCH] Fixed a hang reading the Xbox report descriptor on macOS

(cherry picked from commit 64998d2bc8ec062186ba15978789b042ee831721)
---
 src/joystick/hidapi/SDL_hidapi_xboxone.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/joystick/hidapi/SDL_hidapi_xboxone.c b/src/joystick/hidapi/SDL_hidapi_xboxone.c
index 14dc6cb0d3857..2f6cf14cf2550 100644
--- a/src/joystick/hidapi/SDL_hidapi_xboxone.c
+++ b/src/joystick/hidapi/SDL_hidapi_xboxone.c
@@ -404,6 +404,8 @@ static bool HIDAPI_DriverXboxOne_InitDevice(SDL_HIDAPI_Device *device)
 
     device->context = ctx;
 
+// The Xbox controller doesn't have real HID report descriptors, but Linux synthesizes them for us
+#ifdef SDL_PLATFORM_LINUX
     Uint8 descriptor[1024];
     int descriptor_len = SDL_hid_get_report_descriptor(device->dev, descriptor, sizeof(descriptor));
     if (descriptor_len > 0) {
@@ -453,6 +455,7 @@ static bool HIDAPI_DriverXboxOne_InitDevice(SDL_HIDAPI_Device *device)
     } else {
         SDL_LogDebug(SDL_LOG_CATEGORY_INPUT, "Xbox report descriptor not available");
     }
+#endif // SDL_PLATFORM_LINUX
 
     ctx->vendor_id = device->vendor_id;
     ctx->product_id = device->product_id;