From d6076d131fc1774d06f261967f7d0868b4849509 Mon Sep 17 00:00:00 2001 From: Serhii Snitsaruk Date: Thu, 6 Jun 2024 12:58:18 +0200 Subject: [PATCH] Fix folding/unfolding selected composite task is not working --- editor/task_tree.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/editor/task_tree.cpp b/editor/task_tree.cpp index e292901..0a3027d 100644 --- a/editor/task_tree.cpp +++ b/editor/task_tree.cpp @@ -384,7 +384,8 @@ void TaskTree::_notification(int p_what) { switch (p_what) { case NOTIFICATION_READY: { tree->connect("item_mouse_selected", callable_mp(this, &TaskTree::_on_item_mouse_selected)); - tree->connect("item_selected", callable_mp(this, &TaskTree::_on_item_selected)); + // Note: CONNECT_DEFERRED is needed to avoid double updates with set_allow_reselect(true), which breaks folding/unfolding. + tree->connect("item_selected", callable_mp(this, &TaskTree::_on_item_selected), CONNECT_DEFERRED); tree->connect("item_activated", callable_mp(this, &TaskTree::_on_item_activated)); tree->connect("item_collapsed", callable_mp(this, &TaskTree::_on_item_collapsed)); } break;