x11: Update the display when the WM changes a window's fullscreen state.

Fixes #5390.
This commit is contained in:
Ryan C. Gordon 2022-04-15 18:24:57 -04:00
parent edb473cf46
commit 67e0f546c5
No known key found for this signature in database
GPG Key ID: FA148B892AB48044

View File

@ -1449,11 +1449,15 @@ X11_DispatchEvent(_THIS, XEvent *xevent)
}
}
if (changed & SDL_WINDOW_FULLSCREEN_DESKTOP) {
/* FULLSCREEN_DESKTOP encompasses two bits: SDL_WINDOW_FULLSCREEN, plus a bit to note it's FULLSCREEN_DESKTOP */
if (changed & SDL_WINDOW_FULLSCREEN_DESKTOP) {
SDL_VideoDisplay *viddisplay = SDL_GetDisplayForWindow(data->window);
const Uint32 fsmasked = flags & SDL_WINDOW_FULLSCREEN_DESKTOP;
data->window->flags &= ~SDL_WINDOW_FULLSCREEN_DESKTOP;
data->window->flags |= fsmasked;
if (viddisplay) {
viddisplay->fullscreen_window = fsmasked ? data->window : NULL;
}
}
if (changed & SDL_WINDOW_MAXIMIZED) {