summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2020-10-19 08:30:26 +0200
committerGitHub <noreply@github.com>2020-10-19 08:30:26 +0200
commitfb8d7f9a84d66461fe90b6702e0b7d43ada4826b (patch)
tree8c730d97725feeec833be79744a5d13b49976d14
parent731830559f9cf322ddb5947d371b49e601a1a19f (diff)
parenta22275c8a29b1ee00f4d2c89da8c452b72c84493 (diff)
Merge pull request #42878 from gvaneyck/copy-description-node-replace
Keep 'Editor Description' metadata when changing a Node's type
-rw-r--r--editor/scene_tree_dock.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp
index fa2270dcd6..c4e90ca3ff 100644
--- a/editor/scene_tree_dock.cpp
+++ b/editor/scene_tree_dock.cpp
@@ -2107,8 +2107,12 @@ void SceneTreeDock::replace_node(Node *p_node, Node *p_by_node, bool p_keep_prop
}
if (E->get().name == "__meta__") {
- if (Object::cast_to<CanvasItem>(newnode)) {
- Dictionary metadata = n->get(E->get().name);
+ Dictionary metadata = n->get(E->get().name);
+ if (metadata.has("_editor_description_")) {
+ newnode->set_meta("_editor_description_", metadata["_editor_description_"]);
+ }
+
+ if (Object::cast_to<CanvasItem>(newnode) || Object::cast_to<Node3D>(newnode)) {
if (metadata.has("_edit_group_") && metadata["_edit_group_"]) {
newnode->set_meta("_edit_group_", true);
}