Emscripten: Fixed sending button and motion events for not opened joysticks.
SDL_SYS_JoystickUpdate() was implemented incorrectly. For every call to it all attached joysticks were checked. But actually only the given SDL_Joystick should be checked then. This allowed sending broken events for attached but not opened joysticks. It also checked the opened joysticks more often than actually needed.
This commit is contained in:
parent
79abb08b76
commit
eb9d379503
1 changed files with 2 additions and 3 deletions
|
@ -335,10 +335,10 @@ void
|
|||
SDL_SYS_JoystickUpdate(SDL_Joystick * joystick)
|
||||
{
|
||||
EmscriptenGamepadEvent gamepadState;
|
||||
SDL_joylist_item *item = SDL_joylist;
|
||||
SDL_joylist_item *item = (SDL_joylist_item *) joystick->hwdata;
|
||||
int i, result, buttonState;
|
||||
|
||||
while (item != NULL) {
|
||||
if (item) {
|
||||
result = emscripten_get_gamepad_status(item->index, &gamepadState);
|
||||
if( result == EMSCRIPTEN_RESULT_SUCCESS) {
|
||||
if(gamepadState.timestamp == 0 || gamepadState.timestamp != item->timestamp) {
|
||||
|
@ -368,7 +368,6 @@ SDL_SYS_JoystickUpdate(SDL_Joystick * joystick)
|
|||
}
|
||||
}
|
||||
}
|
||||
item = item->next;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue