From 796fe13cc5a4b7a7630df9b63558b43f85afd344 Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Fri, 17 Mar 2023 11:40:21 +0900 Subject: [PATCH] internal/gamepad: bug fix: possible crash at iterating gamepads Closes #2603 --- internal/gamepad/gamepad_desktop_windows.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/gamepad/gamepad_desktop_windows.go b/internal/gamepad/gamepad_desktop_windows.go index a32505641..95b948b37 100644 --- a/internal/gamepad/gamepad_desktop_windows.go +++ b/internal/gamepad/gamepad_desktop_windows.go @@ -429,7 +429,8 @@ func supportsXInput(guid windows.GUID) (bool, error) { } size := uint32(unsafe.Sizeof(rdi)) if _, err := _GetRawInputDeviceInfoW(ridl[i].hDevice, _RIDI_DEVICEINFO, unsafe.Pointer(&rdi), &size); err != nil { - return false, err + // GetRawInputDeviceInfoW can return an error (#2603). + continue } if uint32(rdi.hid.dwVendorId)|(uint32(rdi.hid.dwProductId)<<16) != guid.Data1 {