SDL: Only save the pending flags we will restore when hiding a window

From 5a2eb6038936eb0aec685ea9cde7725e3310a9e3 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Mon, 23 Dec 2024 16:53:23 -0800
Subject: [PATCH] Only save the pending flags we will restore when hiding a
 window

Fixes https://github.com/libsdl-org/SDL/issues/11564
---
 src/video/SDL_video.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c
index 3d539d3e4257a..1a0cb9988519a 100644
--- a/src/video/SDL_video.c
+++ b/src/video/SDL_video.c
@@ -3205,7 +3205,8 @@ bool SDL_HideWindow(SDL_Window *window)
     }
 
     // Store the flags for restoration later.
-    window->pending_flags = window->flags;
+    const SDL_WindowFlags pending_mask = (SDL_WINDOW_MAXIMIZED | SDL_WINDOW_MINIMIZED | SDL_WINDOW_FULLSCREEN | SDL_WINDOW_KEYBOARD_GRABBED | SDL_WINDOW_MOUSE_GRABBED);
+    window->pending_flags = (window->flags & pending_mask);
 
     window->is_hiding = true;
     if (_this->HideWindow) {