x11: Specify windowed dimensions when creating fullscreen windows.

This lets the window manager adjust the window correctly if it ever
leaves fullscreen mode.

Fixes #5725.
This commit is contained in:
Ryan C. Gordon 2022-08-21 11:35:14 -04:00
parent a7066c527a
commit 4ca7b378c5
No known key found for this signature in database
GPG Key ID: FA148B892AB48044
1 changed files with 7 additions and 1 deletions

View File

@ -526,8 +526,14 @@ X11_CreateWindow(_THIS, SDL_Window * window)
visual, AllocNone); visual, AllocNone);
} }
/* Always create this with the window->windowed.* fields; if we're
creating a windowed mode window, that's fine. If we're creating a
fullscreen window, the window manager will want to know these values
so it can use them if we go _back_ to windowed mode. SDL manages
migration to fullscreen after CreateSDLWindow returns, which will
put all the SDL_Window fields and system state as expected. */
w = X11_XCreateWindow(display, RootWindow(display, screen), w = X11_XCreateWindow(display, RootWindow(display, screen),
window->x, window->y, window->w, window->h, window->windowed.x, window->windowed.y, window->windowed.w, window->windowed.h,
0, depth, InputOutput, visual, 0, depth, InputOutput, visual,
(CWOverrideRedirect | CWBackPixmap | CWBorderPixel | (CWOverrideRedirect | CWBackPixmap | CWBorderPixel |
CWBackingStore | CWColormap), &xattr); CWBackingStore | CWColormap), &xattr);