diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index 75c727b05a3..fd67e4b8322 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -4843,11 +4843,12 @@ void CanvasItemEditor::_popup_callback(int p_op) { undo_redo->add_do_method(new_bone, "add_child", n2d); undo_redo->add_do_method(n2d, "set_transform", Transform2D()); undo_redo->add_do_method(this, "_set_owner_for_node_and_children", new_bone, editor_root); + undo_redo->add_do_reference(new_bone); undo_redo->add_undo_method(new_bone, "remove_child", n2d); undo_redo->add_undo_method(n2d_parent, "add_child", n2d); + undo_redo->add_undo_method(n2d_parent, "remove_child", new_bone); undo_redo->add_undo_method(n2d, "set_transform", new_bone->get_transform()); - undo_redo->add_undo_method(new_bone, "queue_free"); undo_redo->add_undo_method(this, "_set_owner_for_node_and_children", n2d, editor_root); } undo_redo->commit_action();