CanvasItemEditor: Fix losing position for drag'n'dropped scenes
Fixes #26549. Supersedes #36309.
This commit is contained in:
parent
d808697760
commit
a403131a25
1 changed files with 5 additions and 0 deletions
|
@ -6137,6 +6137,11 @@ bool CanvasItemEditorViewport::_create_instance(Node *parent, String &path, cons
|
|||
Vector2 target_pos = canvas_item_editor->get_canvas_transform().affine_inverse().xform(p_point);
|
||||
target_pos = canvas_item_editor->snap_point(target_pos);
|
||||
target_pos = parent_ci->get_global_transform_with_canvas().affine_inverse().xform(target_pos);
|
||||
// Preserve instance position of the original scene.
|
||||
CanvasItem *instance_ci = Object::cast_to<CanvasItem>(instanced_scene);
|
||||
if (instance_ci) {
|
||||
target_pos += instance_ci->_edit_get_position();
|
||||
}
|
||||
editor_data->get_undo_redo().add_do_method(instanced_scene, "set_position", target_pos);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue