From eed6f4fef4645bc0791ab58c8915b78b55f12f38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anni=20Ryyn=C3=A4nen?= Date: Mon, 24 Jun 2024 13:17:45 +0300 Subject: [PATCH] Fix reselecting scene tree node after inspecting a resource This broke when the `node_selected` connection was removed in #91435. Here it's returned, but the emit is removed from `_node_removed`. That preserves the earlier fix while allowing nodes to be reselected. --- editor/gui/scene_tree_editor.cpp | 1 - editor/scene_tree_dock.cpp | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/editor/gui/scene_tree_editor.cpp b/editor/gui/scene_tree_editor.cpp index eea2511cc5e0..a3e62c298f79 100644 --- a/editor/gui/scene_tree_editor.cpp +++ b/editor/gui/scene_tree_editor.cpp @@ -589,7 +589,6 @@ void SceneTreeEditor::_node_removed(Node *p_node) { if (p_node == selected) { selected = nullptr; - emit_signal(SNAME("node_selected")); } } diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 566b460bca45..7f60fbbdb98b 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -4495,6 +4495,7 @@ SceneTreeDock::SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selec scene_tree->set_v_size_flags(SIZE_EXPAND | SIZE_FILL); scene_tree->connect("rmb_pressed", callable_mp(this, &SceneTreeDock::_tree_rmb)); + scene_tree->connect("node_selected", callable_mp(this, &SceneTreeDock::_node_selected), CONNECT_DEFERRED); scene_tree->connect("node_renamed", callable_mp(this, &SceneTreeDock::_node_renamed), CONNECT_DEFERRED); scene_tree->connect("node_prerename", callable_mp(this, &SceneTreeDock::_node_prerenamed)); scene_tree->connect("open", callable_mp(this, &SceneTreeDock::_load_request));