> 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>

Reply via email to