Browse Source

x11: Check for a valid input context before destroying it

XDestroyIC crashes if passed a null parameter.
Frank Praznik 1 week ago
parent
commit
b54c5fd79c
1 changed files with 4 additions and 1 deletions
  1. 4 1
      src/video/x11/SDL_x11keyboard.c

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

@@ -770,7 +770,10 @@ void X11_CreateInputContext(SDL_WindowData *data)
 void X11_DestroyInputContext(SDL_WindowData *data)
 {
 #ifdef X_HAVE_UTF8_STRING
-    X11_XDestroyIC(data->ic);
+    if (data->ic) {
+        X11_XDestroyIC(data->ic);
+        data->ic = NULL;
+    }
     SDL_free(data->preedit_text);
     SDL_free(data->preedit_feedback);
     data->preedit_text = NULL;