Parcourir la source

x11: Send a restored event before entering fullscreen

Ensures that the maximized flag is cleared on fullscreen windows.

(cherry picked from commit ca613b9d8f62e29641c3910ab44f789c967c2b59)
Frank Praznik il y a 2 semaines
Parent
commit
281494676a
1 fichiers modifiés avec 2 ajouts et 0 suppressions
  1. 2 0
      src/video/x11/SDL_x11events.c

+ 2 - 0
src/video/x11/SDL_x11events.c

@@ -1813,6 +1813,8 @@ static void X11_DispatchEvent(SDL_VideoDevice *_this, XEvent *xevent)
                         if (!(flags & SDL_WINDOW_MINIMIZED)) {
                             const bool commit = SDL_memcmp(&data->window->current_fullscreen_mode, &data->requested_fullscreen_mode, sizeof(SDL_DisplayMode)) != 0;
 
+                            // Ensure the maximized flag is cleared before entering fullscreen.
+                            SDL_SendWindowEvent(data->window, SDL_EVENT_WINDOW_RESTORED, 0, 0);
                             SDL_SendWindowEvent(data->window, SDL_EVENT_WINDOW_ENTER_FULLSCREEN, 0, 0);
                             if (commit) {
                                 /* This was initiated by the compositor, or the mode was changed between the request and the window