Browse Source

video: Send pending coordinates for moved, hidden windows

Some backends can't actually position a window until it is shown/mapped, so assume that it will be where it was asked to be as long as it is hidden.

(cherry picked from commit d66483dfccfcdc4e03f719e318c7a76f963f22d9)
Frank Praznik 1 month ago
parent
commit
6f1afe7084
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/video/SDL_video.c

+ 3 - 2
src/video/SDL_video.c

@@ -2924,11 +2924,12 @@ bool SDL_GetWindowPosition(SDL_Window *window, int *x, int *y)
             }
         }
     } else {
+        const bool use_current = !(window->flags & SDL_WINDOW_HIDDEN) && !window->last_position_pending;
         if (x) {
-            *x = window->x;
+            *x = use_current ? window->x : window->pending.x;
         }
         if (y) {
-            *y = window->y;
+            *y = use_current ? window->y : window->pending.y;
         }
     }
     return true;