From ab30c682d391496d28e5ba1ab56009e564b39c42 Mon Sep 17 00:00:00 2001 From: ajreckof Date: Sat, 30 Mar 2024 16:22:02 +0100 Subject: [PATCH] Fix editing exported nodes in array as text. --- editor/editor_properties.cpp | 8 ++++---- editor/editor_properties.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index b7380c9fc2d..913870488fb 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -2717,7 +2717,7 @@ Variant EditorPropertyNodePath::_get_cache_value(const StringName &p_prop, bool return Variant(); } -void EditorPropertyNodePath::_node_selected(const NodePath &p_path) { +void EditorPropertyNodePath::_node_selected(const NodePath &p_path, bool p_absolute) { NodePath path = p_path; Node *base_node = get_base_node(); @@ -2727,7 +2727,7 @@ void EditorPropertyNodePath::_node_selected(const NodePath &p_path) { path = get_tree()->get_edited_scene_root()->get_path_to(to_node); } - if (base_node) { // for AnimationTrackKeyEdit + if (p_absolute && base_node) { // for AnimationTrackKeyEdit path = base_node->get_path().rel_path_to(p_path); } @@ -2749,7 +2749,7 @@ void EditorPropertyNodePath::_node_assign() { scene_tree->get_scene_tree()->set_show_enabled_subscene(true); scene_tree->set_valid_types(valid_types); add_child(scene_tree); - scene_tree->connect("selected", callable_mp(this, &EditorPropertyNodePath::_node_selected)); + scene_tree->connect("selected", callable_mp(this, &EditorPropertyNodePath::_node_selected).bind(true)); } scene_tree->popup_scenetree_dialog(); } @@ -2804,7 +2804,7 @@ void EditorPropertyNodePath::_accept_text() { void EditorPropertyNodePath::_text_submitted(const String &p_text) { NodePath np = p_text; - emit_changed(get_edited_property(), np); + _node_selected(np, false); edit->hide(); assign->show(); menu->show(); diff --git a/editor/editor_properties.h b/editor/editor_properties.h index ce164733fee..8fd00fc0d7d 100644 --- a/editor/editor_properties.h +++ b/editor/editor_properties.h @@ -657,7 +657,7 @@ class EditorPropertyNodePath : public EditorProperty { bool editing_node = false; Vector valid_types; - void _node_selected(const NodePath &p_path); + void _node_selected(const NodePath &p_path, bool p_absolute = true); void _node_assign(); Node *get_base_node(); void _update_menu();