diff --git a/src/video/x11/SDL_x11events.c b/src/video/x11/SDL_x11events.c index 2beb252c0..eb46e4abe 100644 --- a/src/video/x11/SDL_x11events.c +++ b/src/video/x11/SDL_x11events.c @@ -1449,11 +1449,15 @@ X11_DispatchEvent(_THIS, XEvent *xevent) } } + /* FULLSCREEN_DESKTOP encompasses two bits: SDL_WINDOW_FULLSCREEN, plus a bit to note it's FULLSCREEN_DESKTOP */ if (changed & SDL_WINDOW_FULLSCREEN_DESKTOP) { - /* FULLSCREEN_DESKTOP encompasses two bits: SDL_WINDOW_FULLSCREEN, plus a bit to note it's 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) {