From 71897cc1c9a9ba2726ef498ad05a6efe473b0b70 Mon Sep 17 00:00:00 2001 From: Ethan Lee Date: Fri, 30 Jul 2021 15:51:43 -0400 Subject: [PATCH] wayland: Always trigger a resize when handling a configure event. When we removed the OpenGL resize workaround it introduced a problem for fullscreen windows in particular: When leaving fullscreen we tried to send a resize event, but UpdateFullscreenMode would send a SIZE_CHANGED immediately after, deleting our resize event and causing the following configure event's resize to be ignored. This timing issue resulted in fullscreen windows not being resized at all when becoming a floating window. By always forcing resize events from configure events, we ensure that RESIZED always makes it through. SetWindowSize-type changes should be unaffected as they do not fire configure events. --- src/video/wayland/SDL_waylandwindow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/video/wayland/SDL_waylandwindow.c b/src/video/wayland/SDL_waylandwindow.c index 209b9e9ec..e47d34337 100644 --- a/src/video/wayland/SDL_waylandwindow.c +++ b/src/video/wayland/SDL_waylandwindow.c @@ -1219,7 +1219,7 @@ Wayland_HandlePendingResize(SDL_Window *window) if (data->resize.pending) { struct wl_region *region; - if (data->scale_factor != data->resize.scale_factor) { + if (data->scale_factor != data->resize.scale_factor || data->resize.configure) { window->w = 0; window->h = 0; }