aboutsummaryrefslogtreecommitdiff
path: root/tools/editor/editor_node.cpp
diff options
context:
space:
mode:
authorPedro J. Estébanez2017-03-08 19:58:59 +0100
committerPedro J. Estébanez2017-03-08 19:58:59 +0100
commit6aef1c48c4e588b3d68ae99e19ada8b0e2d88799 (patch)
treeb354f97eec20c634ee579737ba87c468318fa175 /tools/editor/editor_node.cpp
parentcc265d5506aa96b191396fee10ba1317c684c9f0 (diff)
downloadgodot-6aef1c48c4e588b3d68ae99e19ada8b0e2d88799.tar.gz
godot-6aef1c48c4e588b3d68ae99e19ada8b0e2d88799.tar.zst
godot-6aef1c48c4e588b3d68ae99e19ada8b0e2d88799.zip
Fix node duplication in scene sub-inheritance
Diffstat (limited to 'tools/editor/editor_node.cpp')
-rw-r--r--tools/editor/editor_node.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp
index 79455688b..87b6383ac 100644
--- a/tools/editor/editor_node.cpp
+++ b/tools/editor/editor_node.cpp
@@ -1013,6 +1013,11 @@ void EditorNode::_save_scene(String p_file, int idx) {
return;
}
+ // force creation of node path cache
+ // (hacky but needed for the tree to update properly)
+ Node* dummy_scene=sdata->instance(true);
+ memdelete(dummy_scene);
+
sdata->set_import_metadata(editor_data.get_edited_scene_import_metadata(idx));
int flg=0;
if (EditorSettings::get_singleton()->get("on_save/compress_binary_resources"))
@@ -1023,6 +1028,7 @@ void EditorNode::_save_scene(String p_file, int idx) {
err = ResourceSaver::save(p_file,sdata,flg);
+
Map<RES,bool> processed;
_save_edited_subresources(scene,processed,flg);
editor_data.save_editor_external_data();