Commit Graph

3 Commits

Author SHA1 Message Date
schuay
6320ff6d1b Fix SDL3 gamepad crash, broken motion, and thread safety issues
- Remove SDL_DestroyProperties call on SDL-owned properties in
  SDL3Gamepad.GetFeaturesFlag(). SDL_GetGamepadProperties returns
  properties owned internally by SDL, freed when SDL_CloseGamepad is
  called. Destroying them causes use-after-free, breaking motion sensor
  data retrieval and crashing on controller reconnect.

- Fix GetGamepads() using wrong lock objects (_gamepadsIds, _joyConsIds,
  _linkedJoyConsIds instead of _lock) and holding locks across yield
  boundaries, which is incompatible with System.Threading.Lock. Snapshot
  IDs under _lock and iterate outside it.

- Add null-conditional to _gamepad.Rumble() in NpadController.UpdateRumble()
  to prevent NullReferenceException if gamepad is disconnected mid-update.
2026-04-18 14:59:54 +02:00
Maki
10476771d3 fix: detect face button layout for gamepads (ryubing/ryujinx!219)
See merge request ryubing/ryujinx!219
2025-11-14 12:51:53 -06:00
Maki
a8ace3d23c chore: SDL3 (ryubing/ryujinx!207)
See merge request ryubing/ryujinx!207
2025-11-07 14:43:48 -06:00