Fixed an issue with X11 window state judgment caused by the order of Atoms. #16921
+33
−27
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does the pull request do?
Let's see a atom list of a sample Avalonia window:
Before this PR, the
WindowState.Maximized
condition will betrue
first and return. So the windowWindowState
property will be set toMaximized
but the window is actuallyHidden
.After this PR, the
WindowState.Hidden
condition will be checked first and return. So the windowWindowState
property will be set toMinimized
and the window is actuallyHidden
.What is the current behavior?
There is only one loop to check the atom list. The order of atoms will affect the result of the window state judgment.
What is the updated/expected behavior with this PR?
The window state judgment is more accurate.
How was the solution implemented (if it's not obvious)?
I changed the loop from a single one to per-atom specific.
Checklist
Breaking changes
Nothing.
Obsoletions / Deprecations
Fixed issues