From 4b6516c843ad6df039b7e5f78ead6b8e3416f243 Mon Sep 17 00:00:00 2001 From: Markus Sauermann <6299227+Sauermann@users.noreply.github.com> Date: Mon, 25 Dec 2023 23:32:29 +0100 Subject: [PATCH] Fix D&D viewport position calculation It is necessary to transform screen position to viewport position. --- scene/main/viewport.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 89ec5636ab..2f0cfda898 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -2073,7 +2073,7 @@ void Viewport::_gui_input_event(Ref p_event) { Window *w = Object::cast_to(ObjectDB::get_instance(object_under)); if (w) { viewport_under = w; - viewport_pos = screen_mouse_pos - w->get_position(); + viewport_pos = w->get_final_transform().affine_inverse().xform(screen_mouse_pos - w->get_position()); } } }