diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 76a449c77d52..1a047dfa2765 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -1990,7 +1990,8 @@ void Viewport::_gui_input_event(Ref p_event) { Control *drag_preview = _gui_get_drag_preview(); if (drag_preview) { - drag_preview->set_position(mpos); + Vector2 pos = drag_preview->get_canvas_transform().affine_inverse().xform(mpos); + drag_preview->set_position(pos); } gui.drag_mouse_over = section_root->gui.target_control;