Skip to content

Commit

Permalink
Emscripten: Partially fixed not removing key event callbacks if hint …
Browse files Browse the repository at this point in the history
…was used.

The key event callbacks were always removed from the same target although it is
possible to set them to different targets using the hint. This is only a partial
fix because it assumes that the hint is not changed to a different value later.
  • Loading branch information
philippwiesemann committed Mar 6, 2015
1 parent 483ea8b commit 1686af7
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions src/video/emscripten/SDL_emscriptenevents.c
Expand Up @@ -621,10 +621,15 @@ Emscripten_UnregisterEventHandlers(SDL_WindowData *data)
emscripten_set_touchmove_callback("#canvas", NULL, 0, NULL);
emscripten_set_touchcancel_callback("#canvas", NULL, 0, NULL);

emscripten_set_keydown_callback("#window", NULL, 0, NULL);
emscripten_set_keyup_callback("#window", NULL, 0, NULL);
const char *target = SDL_GetHint(SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT);
if (!target) {
target = "#window";
}

emscripten_set_keydown_callback(target, NULL, 0, NULL);
emscripten_set_keyup_callback(target, NULL, 0, NULL);

emscripten_set_keypress_callback("#window", NULL, 0, NULL);
emscripten_set_keypress_callback(target, NULL, 0, NULL);

emscripten_set_fullscreenchange_callback("#document", NULL, 0, NULL);

Expand Down

0 comments on commit 1686af7

Please sign in to comment.