Browse Source

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.
Frank Praznik 5 ngày trước cách đây
mục cha
commit
1ac0ae9224

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

@@ -2351,9 +2351,7 @@ void Wayland_ShowWindow(SDL_VideoDevice *_this, SDL_Window *window)
     data->showing_window = false;
     data->showing_window = false;
 
 
     // Send an exposure event to signal that the client should draw.
     // 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)
 static void Wayland_ReleasePopup(SDL_VideoDevice *_this, SDL_Window *popup)