[libdazzle] tree: allow matching even if children have not been built



commit c0e69d0b55f63f8beabef71337cee8f27f1b75b5
Author: Christian Hergert <chergert redhat com>
Date:   Sun Jul 2 22:59:47 2017 -0700

    tree: allow matching even if children have not been built
    
    This allows us to match a node even if it has not yet had it's
    children nodes built. That can be the case when you have lazy
    building (maybe has children) but that turned out to be false.

 src/tree/dzl-tree.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/src/tree/dzl-tree.c b/src/tree/dzl-tree.c
index e4b4b81..1b9ac4c 100644
--- a/src/tree/dzl-tree.c
+++ b/src/tree/dzl-tree.c
@@ -1587,13 +1587,16 @@ dzl_tree_model_filter_recursive (GtkTreeModel *model,
 
           gtk_tree_model_get (model, &child, 0, &node, -1);
 
-          if ((node != NULL) && !_dzl_tree_node_get_needs_build (node))
+          if (node != NULL)
             {
               if (filter->filter_func (filter->self, node, filter->filter_data))
                 return TRUE;
 
-              if (dzl_tree_model_filter_recursive (model, &child, filter))
-                return TRUE;
+              if (!_dzl_tree_node_get_needs_build (node))
+                {
+                  if (dzl_tree_model_filter_recursive (model, &child, filter))
+                    return TRUE;
+                }
             }
         }
       while (gtk_tree_model_iter_next (model, &child));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]