Merge pull request #78300 from ajreckof/fix-replace-node-destroying-Node-properties

Auto-update properties when replacing a node
This commit is contained in:
Yuri Sizov 2023-08-03 22:37:40 +02:00
commit e4b8dc81b8
5 changed files with 114 additions and 31 deletions

View file

@ -277,11 +277,8 @@ void GPUParticles3DEditor::_menu_option(int p_option) {
EditorUndoRedoManager *ur = EditorUndoRedoManager::get_singleton();
ur->create_action(TTR("Convert to CPUParticles3D"));
ur->add_do_method(SceneTreeDock::get_singleton(), "replace_node", node, cpu_particles, true, false);
ur->add_do_reference(cpu_particles);
ur->add_undo_method(SceneTreeDock::get_singleton(), "replace_node", cpu_particles, node, false, false);
ur->add_undo_reference(node);
ur->commit_action();
SceneTreeDock::get_singleton()->replace_node(node, cpu_particles);
ur->commit_action(false);
} break;
case MENU_OPTION_RESTART: {