From 6200f61162e09b7f04f58407a7803866899867fe Mon Sep 17 00:00:00 2001 From: Alexander Montag Date: Sun, 29 Sep 2024 16:48:57 +0200 Subject: [PATCH] Fix descendent counter in TreeSearch --- editor/tree_search.cpp | 1 + editor/tree_search.h | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/editor/tree_search.cpp b/editor/tree_search.cpp index e0494d1..ae775b5 100644 --- a/editor/tree_search.cpp +++ b/editor/tree_search.cpp @@ -405,6 +405,7 @@ void TreeSearch::update_search(Tree *p_tree) { // clear and redraw if search was active recently. if (was_searched_recently) { _clear_filter(); + number_matches.clear(); matching_entries.clear(); was_searched_recently = false; p_tree->queue_redraw(); diff --git a/editor/tree_search.h b/editor/tree_search.h index 1dbb2d2..21ff51f 100644 --- a/editor/tree_search.h +++ b/editor/tree_search.h @@ -53,10 +53,13 @@ private: // For TaskTree: These are updated when the tree is updated through TaskTree::_create_tree. Tree *tree_reference; - + // linearized ordering of tree items. Vector ordered_tree_items; + // entires that match the search mask. Vector matching_entries; + // number of descendant matches for each tree item. HashMap number_matches; + // custom draw-callbacks for each tree item. HashMap callable_cache; bool was_searched_recently = false; // Performance