Files
ReSkate/Extension/UI
AyeZeeBB 39897037be Fix the crash when a PlayStation controller is first read (2.0.4)
2.0.4 told a USB DualSense from a Bluetooth one by asking Windows for the
pad's report length, the first time the game read from it. That call was
made inside the ReadFile hook with the HID lock held, and hid.dll's
HidD_GetPreparsedData itself calls GetOverlappedResult and CloseHandle,
which ReSkate also hooks and which take the same lock. Locking it twice
on one thread throws, through hid.dll and the game, and the process ends
without a crash dump: as a DualSense or DualShock 4 was plugged in, or at
startup with one connected.

Nothing is asked of the game's handle now. Windows pads every HID read to
the device's own report length, so the number of bytes read says USB (64)
or Bluetooth (longer). The session-marker fix that the query was for
works from that instead.
2026-10-10 17:20:50 -05:00
..
2026-10-02 14:40:41 -05:00
2026-10-02 14:40:41 -05:00
2026-10-02 14:40:41 -05:00