Преглед на файлове

Fix D&D viewport position calculation

It is necessary to transform screen position to viewport position.

(cherry picked from commit 4b6516c843ad6df039b7e5f78ead6b8e3416f243)
Markus Sauermann преди 1 година
родител
ревизия
6f6a1dc5e9
променени са 1 файла, в които са добавени 1 реда и са изтрити 1 реда
  1. 1 1
      scene/main/viewport.cpp

+ 1 - 1
scene/main/viewport.cpp

@@ -2081,7 +2081,7 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
 						Window *w = Object::cast_to<Window>(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());
 						}
 					}
 				}