Răsfoiți Sursa

Ensure WindowData minimized/maximized are mutually exclusive

The window manager can break the assumption that
fullscreen/maximized/minimized values are mutually exclusive.
Christopher Foo 2 ani în urmă
părinte
comite
e4d052e284
1 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  1. 2 2
      platform/linuxbsd/x11/display_server_x11.cpp

+ 2 - 2
platform/linuxbsd/x11/display_server_x11.cpp

@@ -3497,8 +3497,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;
 
 	// Readjusting the window position if the window is being reparented by the window manager for decoration
 	Window root, parent, *children;