summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-07-07 16:04:17 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-07-07 16:04:17 +0200
commita2604ff7123174fd95c22a4c7f3e2972bb4fb514 (patch)
tree749ca236977db7cc898de0ce36d3bb7c6a764546
parent2935a2b1de2f722aa9f931f22e4188db5ef7ef33 (diff)
parentb2bef8c47babbfea3a11143e428a248f59da4eb5 (diff)
downloadredot-engine-a2604ff7123174fd95c22a4c7f3e2972bb4fb514.tar.gz
Merge pull request #78925 from theraot/fix_rename_unique
Do not change a node unique name to the same name
-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);