diff --git a/src/video/x11/SDL_x11events.c b/src/video/x11/SDL_x11events.c index 2c5fb0dd0e..43d6dd7283 100644 --- a/src/video/x11/SDL_x11events.c +++ b/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