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

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 дней назад
Родитель
Сommit
68082c7d15
1 измененных файлов с 1 добавлено и 3 удалено
  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)