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:
Philipp Wiesemann 2015-02-18 21:34:07 +01:00
parent f9adb453dd
commit 6dda14c0d8
1 changed files with 5 additions and 0 deletions

View File

@ -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)