Fixed rare infinite rumble in HIDAPI controller driver

This commit is contained in:
Sam Lantinga
2019-12-19 18:03:28 -08:00
parent 25bd5070f5
commit 1db56619de
6 changed files with 19 additions and 1 deletions

View File

@@ -760,7 +760,10 @@ HIDAPI_DriverSwitch_RumbleJoystick(SDL_HIDAPI_Device *device, SDL_Joystick *joys
}
if ((low_frequency_rumble || high_frequency_rumble) && duration_ms) {
ctx->m_nRumbleExpiration = SDL_GetTicks() + duration_ms;
ctx->m_nRumbleExpiration = SDL_GetTicks() + SDL_min(duration_ms, SDL_MAX_RUMBLE_DURATION_MS);
if (!ctx->m_nRumbleExpiration) {
ctx->m_nRumbleExpiration = 1;
}
} else {
ctx->m_nRumbleExpiration = 0;
}