> Maybe one more comment - I think it would be good to always update all > children, i.e. > > ```diff > diff --git a/src/prefs.c b/src/prefs.c > index ec609e5c7..81cc3d623 100644 > --- a/src/prefs.c > +++ b/src/prefs.c > @@ -1444,7 +1444,7 @@ static void kb_tree_update_visibility(GtkTreeStore > *store, const gchar *entry_te > return; > > /* foreach child */ > - while (!visible_parent) > + while (TRUE) > { > gboolean visible; > gchar *action_name; > @@ -1459,7 +1459,7 @@ static void kb_tree_update_visibility(GtkTreeStore > *store, const gchar *entry_te > if (visible) > visible_children = TRUE; > > - gtk_tree_store_set(store, &child, KB_TREE_VISIBLE, > visible, -1); > + gtk_tree_store_set(store, &child, KB_TREE_VISIBLE, > visible || visible_parent, -1); > > if (! gtk_tree_model_iter_next(model, &child)) > break; > ``` > > When you try to search for something like "file ff", it filters out > everything. But when you remove the last "f" (so the entry contins "file f"), > it should again show all items from the "File" group. It doesn't happen now > because children visibility was set to FALSE previously and they don't get > re-updated because the while loop is skipped.
Thanks, comitted as is. I'd squash the last commits before merging. -- Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/4192#issuecomment-2585862590 You are receiving this because you are subscribed to this thread. Message ID: <geany/geany/pull/4192/c2585862...@github.com>