Fix mouse position in sub-viewports #62274
Closed
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 #60390
As I was debugging the issue, I discovered that the problem lies in Viewport's method to get mouse position:
godot/scene/main/viewport.cpp
Lines 1100 to 1102 in b5f20a4
It's returning the last recorded mouse position. The problem is that sub-viewports (or at least the 2D editor viewport) never updates this value, so it was always returning (0, 0).
This was originally changed in:
c7b4dca
Not sure why. I copied the previous code and it fixes the issue.