diff --git a/tools/editor/editor_node.h b/tools/editor/editor_node.h index 87f17247c3d..e35467e788a 100644 --- a/tools/editor/editor_node.h +++ b/tools/editor/editor_node.h @@ -410,6 +410,8 @@ public: static void add_editor_plugin(EditorPlugin *p_editor); static void remove_editor_plugin(EditorPlugin *p_editor); + static EditorNode * get_singleton() { return singleton; } + void edit_node(Node *p_node); void edit_resource(const Ref& p_resource); diff --git a/tools/editor/scene_tree_editor.cpp b/tools/editor/scene_tree_editor.cpp index 89b7e54195c..1d2c864c993 100644 --- a/tools/editor/scene_tree_editor.cpp +++ b/tools/editor/scene_tree_editor.cpp @@ -706,7 +706,8 @@ void SceneTreeDialog::_cancel() { void SceneTreeDialog::_select() { if (tree->get_selected()) { - emit_signal("selected",tree->get_selected()->get_path()); + Node *scene = EditorNode::get_singleton()->get_edited_scene(); + emit_signal("selected","/root/" + scene->get_parent()->get_path_to(tree->get_selected())); hide(); } }