Просмотр исходного кода

Fixed crash when reinitializing video on X11

The keyboard keymap was left pointing at a freed keymap after X11_QuitKeyboard()
Sam Lantinga 1 месяц назад
Родитель
Сommit
e11110400a
1 измененных файлов с 1 добавлено и 0 удалено
  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;