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 <cedric@osg.samsung.com>
This commit is contained in:
Andrii Kroitor 2016-04-26 14:34:14 -07:00 committed by Cedric Bail
parent 9e2b06cf98
commit 802e671cda
1 changed files with 6 additions and 4 deletions

View File

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