summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2022-03-31 22:31:59 +0200
committerGitHub <noreply@github.com>2022-03-31 22:31:59 +0200
commit1358efde1f5bf479049f797a74ca72b4849e0b2b (patch)
tree51bd1ed97fbd7b5c03455aaa14ac682111c4aa07
parentaf7a4c46723748de916913ac641c02218ed43549 (diff)
parent529e2279e14bd91e244488fbd3beef0075e63115 (diff)
Merge pull request #59709 from Sauermann/fix-dragndrop-subviewport-transform
-rw-r--r--scene/main/viewport.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index e50197d5fa..a38bed71d1 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -1851,8 +1851,10 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
}
if (viewport_under) {
- Transform2D ai = (viewport_under->get_final_transform().affine_inverse() * viewport_under->_get_input_pre_xform());
- viewport_pos = ai.xform(viewport_pos);
+ if (viewport_under != this) {
+ Transform2D ai = (viewport_under->get_final_transform().affine_inverse() * viewport_under->_get_input_pre_xform());
+ viewport_pos = ai.xform(viewport_pos);
+ }
// Find control under at position.
gui.drag_mouse_over = viewport_under->gui_find_control(viewport_pos);
if (gui.drag_mouse_over) {