cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=802e671cda7e5790705acd13be19d7a6d1da0a38

commit 802e671cda7e5790705acd13be19d7a6d1da0a38
Author: Andrii Kroitor <an.kroi...@samsung.com>
Date:   Tue Apr 26 14:34:14 2016 -0700

    elementary: fix genlist tree filters
    
    Summary:
    In tree mode if parent item is hidden all its subitems should also be 
hidden.
    @fix
    
    Reviewers: Hermet, raster, cedric
    
    Reviewed By: cedric
    
    Subscribers: jpeg, reutskiy.v.v
    
    Differential Revision: https://phab.enlightenment.org/D3918
    
    Signed-off-by: Cedric Bail <ced...@osg.samsung.com>
---
 src/lib/elementary/elm_genlist.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index 378c5f0..e71a2d5 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -7507,11 +7507,13 @@ static void
 _filter_item_internal(Elm_Gen_Item *it)
 {
    ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd);
-   if (sd->filter_data && it->itc->func.filter_get)
+   if (sd->filter_data)
      {
-        if (!it->itc->func.filter_get(
-               (void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)),
-                WIDGET(it), sd->filter_data))
+        if ((it->parent && !_item_filtered_get(it->parent)) ||
+            (it->itc->func.filter_get &&
+             !it->itc->func.filter_get(
+                (void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)),
+                WIDGET(it), sd->filter_data)))
           {
              it->hide = EINA_TRUE;
              it->item->block->changed = EINA_TRUE;

-- 


Reply via email to