Emscripten: Fixed receiving joystick events after failed init or subsystem quit.
The callbacks used to receive the HTML events were not removed if the joystick subsystem initialization failed or if the joystick subsystem was quit. Also, the already connected joysticks were not deleted if the initialization failed later.
This commit is contained in:
parent
f3b8ca2a36
commit
1a2231c115
1 changed files with 5 additions and 0 deletions
|
@ -220,6 +220,7 @@ SDL_SYS_JoystickInit(void)
|
|||
Emscripten_JoyStickConnected);
|
||||
|
||||
if(retval != EMSCRIPTEN_RESULT_SUCCESS) {
|
||||
SDL_SYS_JoystickQuit();
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -227,6 +228,7 @@ SDL_SYS_JoystickInit(void)
|
|||
0,
|
||||
Emscripten_JoyStickDisconnected);
|
||||
if(retval != EMSCRIPTEN_RESULT_SUCCESS) {
|
||||
SDL_SYS_JoystickQuit();
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -399,6 +401,9 @@ SDL_SYS_JoystickQuit(void)
|
|||
|
||||
numjoysticks = 0;
|
||||
instance_counter = 0;
|
||||
|
||||
emscripten_set_gamepadconnected_callback(NULL, 0, NULL);
|
||||
emscripten_set_gamepaddisconnected_callback(NULL, 0, NULL);
|
||||
}
|
||||
|
||||
SDL_JoystickGUID SDL_SYS_JoystickGetDeviceGUID(int index)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue