Jelajahi Sumber

wayland: Unconditionally send an exposure event on window shown status

Some compositors send the frame callback as part of the initial configuration sequence, so the window may already be past the "waiting for frame" state. Ensure that the exposure event is always sent.

(cherry picked from commit 1ac0ae92247285714f50d07007bbb71d2c6d266d)
Frank Praznik 5 hari lalu
induk
melakukan
68082c7d15
1 mengubah file dengan 1 tambahan dan 3 penghapusan
  1. 1 3
      src/video/wayland/SDL_waylandwindow.c

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

@@ -2160,9 +2160,7 @@ void Wayland_ShowWindow(SDL_VideoDevice *_this, SDL_Window *window)
     data->showing_window = false;
 
     // Send an exposure event to signal that the client should draw.
-    if (data->shell_surface_status == WAYLAND_SHELL_SURFACE_STATUS_WAITING_FOR_FRAME) {
-        SDL_SendWindowEvent(window, SDL_EVENT_WINDOW_EXPOSED, 0, 0);
-    }
+    SDL_SendWindowEvent(window, SDL_EVENT_WINDOW_EXPOSED, 0, 0);
 }
 
 static void Wayland_ReleasePopup(SDL_VideoDevice *_this, SDL_Window *popup)