[3.x] Fix input events random delay on X11 #54313
Merged
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.
The new system based on a thread gathering events from the X11 server was causing delays in some scenarios where some events have just been missed at the time of processing and we're waiting for a whole frame to check them again.
Solved by flushing again and checking for pending events at the beginning of the process loop, in addition to events already gathered on the event thread.
Fixes #48369 on 3.x (regression from #42341).
Master version: #54326
Note for the milestone:
It seems a bit risky to merge at the last minute for 3.4 release, so I've set the milestone to 3.5, but it could be a good candidate for a minor 3.4 release later, as long as there's a little bit more time for user testing.