Explorar o código

Fixed crash when reinitializing video on X11

The keyboard keymap was left pointing at a freed keymap after X11_QuitKeyboard()
Sam Lantinga hai 1 mes
pai
achega
e11110400a
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  1. 1 0
      src/video/x11/SDL_x11keyboard.c

+ 1 - 0
src/video/x11/SDL_x11keyboard.c

@@ -515,6 +515,7 @@ void X11_QuitKeyboard(SDL_VideoDevice *_this)
 
 #ifdef SDL_VIDEO_DRIVER_X11_HAS_XKBLIB
     if (data->keyboard.xkb_enabled) {
+        SDL_SetKeymap(NULL, false);
         for (int i = 0; i < XkbNumKbdGroups; ++i) {
             SDL_DestroyKeymap(data->keyboard.xkb.keymaps[i]);
             data->keyboard.xkb.keymaps[i] = NULL;