Prohibit execution of delayed input events by different means #89920
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.
In some cases it can happen, that the order of input events and window events is not followed, when input buffering or input accumulation is active.
The display server order "
InputEvent
=> window-event" gets changed to "window-event =>InputEvent
" which becomes problematic in certain situations.An example, where this was noticed is #80334, where the problem was mitigated by different means:
godot/scene/main/window.cpp
Lines 2720 to 2723 in 7d151c8
However this solution was problematic in some situations like Android. (fix #89683)
This PR makes sure, that the order is adhered to by flushing input events before a window event is sent.
The solution of this PR is global for all platforms, since now the new behavior is ensured in the Window-class.
fix #85695