From f00d1bfb40bc8355bc5ded90c3ae0fca18e79fbf Mon Sep 17 00:00:00 2001 From: Alexander Montag Date: Wed, 2 Oct 2024 16:15:50 +0000 Subject: [PATCH] TreeSearch: Clear filter only when really necessary. --- editor/tree_search.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/editor/tree_search.cpp b/editor/tree_search.cpp index 00a9cb9..b93609f 100644 --- a/editor/tree_search.cpp +++ b/editor/tree_search.cpp @@ -66,9 +66,8 @@ void TreeSearch::_filter_tree() { void TreeSearch::_filter_tree(TreeItem *p_item, bool p_parent_matching) { bool visible = number_matches.has(p_item) | p_parent_matching; - if (!visible) { - p_item->set_visible(visible); - } + p_item->set_visible(visible); + bool is_matching = _vector_has_bsearch(matching_entries, p_item); for (int i = 0; i < p_item->get_child_count(); i++) { _filter_tree(p_item->get_child(i), is_matching | p_parent_matching); @@ -475,7 +474,6 @@ void TreeSearch::update_search(Tree *p_tree) { _update_matching_entries(search_mask); _update_number_matches(); - _clear_filter(); _highlight_tree(); if (search_mode == TreeSearchMode::FILTER) { _filter_tree();