Ensure WindowData minimized/maximized are mutually exclusive

The window manager can break the assumption that
fullscreen/maximized/minimized values are mutually exclusive.

(cherry picked from commit e4d052e284)
This commit is contained in:
Christopher Foo
2023-05-08 20:23:45 -04:00
committed by Rémi Verschelde
parent bab96e71d2
commit 28012c40fb

View File

@@ -3483,8 +3483,8 @@ void DisplayServerX11::_window_changed(XEvent *event) {
// 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");
wd.maximized = _window_maximize_check(window_id, "_NET_WM_STATE") && !wd.fullscreen;
wd.minimized = _window_minimize_check(window_id) && !wd.fullscreen && !wd.maximized;
{
//the position in xconfigure is not useful here, obtain it manually