Fixed bug 4898 - No rumble because of integer overflow in SDL_JoystickRumble
meyraud705 On a Dualshock 4 controller using hidapi driver, calling SDL_JoystickRumble with a duration too long (SDL_HAPTIC_INFINITY for example) causes the rumble to stop immediately. This happens because of integer overflow on line 301 of SDL_hidapi_ps4.c (https://hg.libsdl.org/SDL/file/99ecd178999f/src/joystick/hidapi/SDL_hidapi_ps4.c#l301), which sets expiration time in the past.
This commit is contained in:
parent
f403f9cb0f
commit
d131b3ddc1
4 changed files with 6 additions and 3 deletions
|
@ -43,6 +43,9 @@
|
|||
#undef SDL_JOYSTICK_HIDAPI_XBOXONE
|
||||
#endif
|
||||
|
||||
/* Prevent rumble duration overflow */
|
||||
#define SDL_MAX_RUMBLE_DURATION_MS 0x0fffffff
|
||||
|
||||
typedef struct _SDL_HIDAPI_DeviceDriver
|
||||
{
|
||||
const char *hint;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue