@@ -2648,7 +2648,7 @@ Variant EditorPropertyNodePath::_get_cache_value(const StringName &p_prop, bool
26482648 return Variant ();
26492649}
26502650
2651- void EditorPropertyNodePath::_node_selected (const NodePath &p_path) {
2651+ void EditorPropertyNodePath::_node_selected (const NodePath &p_path, bool p_absolute ) {
26522652 NodePath path = p_path;
26532653 Node *base_node = get_base_node ();
26542654
@@ -2658,7 +2658,7 @@ void EditorPropertyNodePath::_node_selected(const NodePath &p_path) {
26582658 path = get_tree ()->get_edited_scene_root ()->get_path_to (to_node);
26592659 }
26602660
2661- if (base_node) { // for AnimationTrackKeyEdit
2661+ if (p_absolute && base_node) { // for AnimationTrackKeyEdit
26622662 path = base_node->get_path ().rel_path_to (p_path);
26632663 }
26642664
@@ -2680,7 +2680,7 @@ void EditorPropertyNodePath::_node_assign() {
26802680 scene_tree->get_scene_tree ()->set_show_enabled_subscene (true );
26812681 scene_tree->set_valid_types (valid_types);
26822682 add_child (scene_tree);
2683- scene_tree->connect (" selected" , callable_mp (this , &EditorPropertyNodePath::_node_selected));
2683+ scene_tree->connect (" selected" , callable_mp (this , &EditorPropertyNodePath::_node_selected). bind ( true ) );
26842684 }
26852685
26862686 Variant val = get_edited_property_value ();
@@ -2748,7 +2748,7 @@ void EditorPropertyNodePath::_accept_text() {
27482748
27492749void EditorPropertyNodePath::_text_submitted (const String &p_text) {
27502750 NodePath np = p_text;
2751- emit_changed ( get_edited_property (), np );
2751+ _node_selected (np, false );
27522752 edit->hide ();
27532753 assign->show ();
27542754 menu->show ();
0 commit comments