OrbitControls: handle duplicated pointerId #27748
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.
Fixes #27746
Reported issue occurs when clicking both left/right mouse buttons and dragging mouse outside DOM area. This underlying issue is that both actions use the same
pointerId
, which in turn, duplicates their reference internally leading to incorrect handling of later actions.Issue is resolved by only keeping track of new clicks, if their
pointerId
is unique and currently not tracked.PR Example
The problem reported in #24566, still occurs. However, it does appear like it is a browser-side issue. As it stems from events not firing under specific situations and not something we can easily manage internally, without simply removing any currently tracked events when pointer goes outside DOM.