From 3f497c6a9f9280a8553452fa9a69f0c63aa2472a Mon Sep 17 00:00:00 2001 From: Frank Praznik Date: Tue, 10 Sep 2024 10:07:55 -0400 Subject: [PATCH] wayland: Send exposure events when showing or resizing the window Clients may rely on this event to signal when they should redraw themselves, so send it when appropriate. --- src/video/wayland/SDL_waylandwindow.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/video/wayland/SDL_waylandwindow.c b/src/video/wayland/SDL_waylandwindow.c index a7563c483f2e4..b8fe0b7420e1e 100644 --- a/src/video/wayland/SDL_waylandwindow.c +++ b/src/video/wayland/SDL_waylandwindow.c @@ -1421,6 +1421,9 @@ void Wayland_ShowWindow(_THIS, SDL_Window *window) * HideWindow was called immediately before ShowWindow. */ WAYLAND_wl_display_roundtrip(c->display); + + /* Send an exposure event to signal that the client should draw. */ + SDL_SendWindowEvent(window, SDL_WINDOWEVENT_EXPOSED, 0, 0); } static void Wayland_ReleasePopup(_THIS, SDL_Window *popup) @@ -2094,6 +2097,7 @@ static void Wayland_HandleResize(SDL_Window *window, int width, int height, floa window->w = 0; window->h = 0; SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, width, height); + SDL_SendWindowEvent(window, SDL_WINDOWEVENT_EXPOSED, 0, 0); window->w = width; window->h = height; data->needs_resize_event = SDL_FALSE;