diff options
author | Matthew Munro (mam552) <mam552@usask.ca> | 2022-10-01 16:01:28 -0600 |
---|---|---|
committer | Matthew Munro (mam552) <mam552@usask.ca> | 2022-10-01 16:01:28 -0600 |
commit | 0f5b448a9c11d6f66942934c4156a87b387356a3 (patch) | |
tree | 191fc0eb77e4f1bef10e777dec5b80915d801ca1 /platform | |
parent | e69b7083d45c5d8698508cce7086d361c4b1f44c (diff) |
Fix inconsistent window state on X11.
Fixes #66413.
DisplayServerX11 tracks some internal state about whether the window is
fullscreen, minimized, maximized or none. This commit queries the
display server when the window changes, so that this internal state can
be correctly updated.
Diffstat (limited to 'platform')
-rw-r--r-- | platform/linuxbsd/display_server_x11.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/platform/linuxbsd/display_server_x11.cpp b/platform/linuxbsd/display_server_x11.cpp index 66dea6cf1b..81fc941608 100644 --- a/platform/linuxbsd/display_server_x11.cpp +++ b/platform/linuxbsd/display_server_x11.cpp @@ -3142,6 +3142,11 @@ void DisplayServerX11::_window_changed(XEvent *event) { return; } + // Query display server about a possible new window state. + wd.fullscreen = _window_fullscreen_check(window_id); + wd.minimized = _window_minimize_check(window_id); + wd.maximized = _window_maximize_check(window_id, "_NET_WM_STATE"); + { //the position in xconfigure is not useful here, obtain it manually int x, y; |