소스 검색

Fixed crash when reinitializing video on X11

The keyboard keymap was left pointing at a freed keymap after X11_QuitKeyboard()
Sam Lantinga 1 개월 전
부모
커밋
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;