Pass window exclusive and transient properties for subwindow creation #94706
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.
On Windows this allows to avoid having to change the owner of the window after it has been created, which in rare circumstances may cause the window to bug out.
This PR complements #94315, but does not replace it. By setting the window owner early when creating the window, we can avoid needing to use
SetWindowLongPtr
withGWLP_HWNDPARENT
which is what triggers the referenced bug. This allows the Project Settings window and etc. to show without having to activate the workaround in #94315, therefore avoiding the window flashing. However, setting the transient parent after the window has already been created will still require said workaround.CC @bruvzg