Browse Source

wayland: Assign frame_callback on window creation.

Fixes a crash when creating and destroying a window without calling SwapWindow.
Ethan Lee 4 years ago
parent
commit
7b239edb83
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/video/wayland/SDL_waylandwindow.c

+ 2 - 1
src/video/wayland/SDL_waylandwindow.c

@@ -1136,7 +1136,8 @@ int Wayland_CreateWindow(_THIS, SDL_Window *window)
      * window isn't visible.
      * window isn't visible.
      */
      */
     if (window->flags & SDL_WINDOW_OPENGL) {
     if (window->flags & SDL_WINDOW_OPENGL) {
-        wl_callback_add_listener(wl_surface_frame(data->surface), &surface_frame_listener, data);
+        data->frame_callback = wl_surface_frame(data->surface);
+        wl_callback_add_listener(data->frame_callback, &surface_frame_listener, data);
     }
     }
 
 
 #ifdef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH
 #ifdef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH