X Tutup
Skip to content

Linux: Ensure WindowData minimized/maximized are mutually exclusive#76868

Merged
akien-mga merged 1 commit intogodotengine:masterfrom
chfoo:issue-72728
May 9, 2023
Merged

Linux: Ensure WindowData minimized/maximized are mutually exclusive#76868
akien-mga merged 1 commit intogodotengine:masterfrom
chfoo:issue-72728

Conversation

@chfoo
Copy link
Contributor

@chfoo chfoo commented May 9, 2023

This fixes #72728.

The window manager can break the assumption that fullscreen/maximized/minimized values are mutually exclusive. This appears to happen when the window is in progress transitioning from minimized to maximized.

The display server code relies on this assumption for proper state management, in particular for DisplayServerX11::_validate_mode_on_map's "if" cases.

This PR ensures when querying the window manager in method DisplayServerX11::_window_changed, only one value can be true. The PR prioritizes fullscreen, maximum, and then minimized states, opting to assume the window is visible for conflicting values.

The window manager can break the assumption that
fullscreen/maximized/minimized values are mutually exclusive.
@chfoo chfoo requested a review from a team as a code owner May 9, 2023 00:47
@akien-mga akien-mga added this to the 4.1 milestone May 9, 2023
@akien-mga akien-mga requested a review from bruvzg May 9, 2023 08:55
@akien-mga akien-mga merged commit e56427b into godotengine:master May 9, 2023
@akien-mga
Copy link
Member

Thanks!

@akien-mga
Copy link
Member

Cherry-picked for 4.0.3.

@akien-mga akien-mga changed the title Ensure WindowData minimized/maximized are mutually exclusive Linux: Ensure WindowData minimized/maximized are mutually exclusive May 12, 2023
@vvvvvvitor
Copy link

Still happening on 4.0.3, every time you focus on editable text
Gravação de tela de 2023-05-19 17-29-38.webm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Godot glitches out and becomes unusable after being left in the background for a long time

4 participants

X Tutup