Browse Source

wayland: Avoid duplicate resize events when entering fullscreen

Cameron Gutman 2 years ago
parent
commit
780b031b1b
1 changed files with 6 additions and 10 deletions
  1. 6 10
      src/video/wayland/SDL_waylandwindow.c

+ 6 - 10
src/video/wayland/SDL_waylandwindow.c

@@ -631,14 +631,12 @@ handle_configure_xdg_toplevel(void *data,
          * UPDATE: Nope, sure enough a compositor sends 0,0. This is a known bug:
          * https://bugs.kde.org/show_bug.cgi?id=444962
          */
-        if (!FullscreenModeEmulation(window)) {
-            if (width != 0 && height != 0 && (window->w != width || window->h != height)) {
-                window->w = width;
-                window->h = height;
-                wind->needs_resize_event = SDL_TRUE;
-            }
-        } else {
-            GetFullScreenDimensions(window, &window->w, &window->h, NULL, NULL);
+        if (FullscreenModeEmulation(window)) {
+            GetFullScreenDimensions(window, &width, &height, NULL, NULL);
+        }
+        if (width != 0 && height != 0 && (window->w != width || window->h != height)) {
+            window->w = width;
+            window->h = height;
             wind->needs_resize_event = SDL_TRUE;
         }
 
@@ -834,8 +832,6 @@ decoration_frame_configure(struct libdecor_frame *frame,
             GetFullScreenDimensions(window, &width, &height, NULL, NULL);
         }
 
-        wind->needs_resize_event = SDL_TRUE;
-
         /* This part is good though. */
         if (window->flags & SDL_WINDOW_ALLOW_HIGHDPI) {
             scale_factor = driverdata->scale_factor;