8 Jan
2024
8 Jan
'24
12:23 p.m.
Rémi Bernon (@rbernon) commented about dlls/xinput1_3/main.c:
- start_update_thread(); - - if (index >= XUSER_MAX_COUNT) return ERROR_BAD_ARGUMENTS; + XINPUT_CAPABILITIES_EX caps_ex; + DWORD ret;
- if (!controller_lock(&controllers[index])) return ERROR_DEVICE_NOT_CONNECTED; + ret = XInputGetCapabilitiesEx(0, index, flags, &caps_ex);
- if (flags & XINPUT_FLAG_GAMEPAD && controllers[index].caps.SubType != XINPUT_DEVSUBTYPE_GAMEPAD) + if (!ret) { - controller_unlock(&controllers[index]); - return ERROR_DEVICE_NOT_CONNECTED; + memcpy(capabilities, &caps_ex.Capabilities, sizeof(*capabilities)); }
TRACE("index %lu, flags %#lx, capabilities %p.\n", index, flags, capabilities);
ret = XInputGetCapabilitiesEx(0, index, flags, &caps_ex);
if (!ret) capabilities = caps_ex.Capabilities;
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/4693#note_56892