summaryrefslogtreecommitdiffstats
path: root/editor/gui/scene_tree_editor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/gui/scene_tree_editor.cpp')
-rw-r--r--editor/gui/scene_tree_editor.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/editor/gui/scene_tree_editor.cpp b/editor/gui/scene_tree_editor.cpp
index d1756df66c..7b0b816630 100644
--- a/editor/gui/scene_tree_editor.cpp
+++ b/editor/gui/scene_tree_editor.cpp
@@ -1019,11 +1019,18 @@ void SceneTreeEditor::_renamed() {
}
}
- if (n->is_unique_name_in_owner() && get_tree()->get_edited_scene_root()->get_node_or_null("%" + new_name) != nullptr) {
- error->set_text(TTR("Another node already uses this unique name in the scene."));
- error->popup_centered();
- which->set_text(0, n->get_name());
- return;
+ if (n->is_unique_name_in_owner()) {
+ Node *existing = get_tree()->get_edited_scene_root()->get_node_or_null("%" + new_name);
+ if (existing == n) {
+ which->set_text(0, n->get_name());
+ return;
+ }
+ if (existing != nullptr) {
+ error->set_text(TTR("Another node already uses this unique name in the scene."));
+ error->popup_centered();
+ which->set_text(0, n->get_name());
+ return;
+ }
}
_rename_node(n, new_name);