[Genlist] Added correct container_get callback for filter iterator.
Summary: Warning fixed: Container_get mechanism was wrong. Fixed it. Test Plan: elementary_test => Genlist => Genlist filter Reviewers: singh.amitesh, cedric, shilpasingh, SanghyeonLee Subscribers: shilpasingh Differential Revision: https://phab.enlightenment.org/D3105
This commit is contained in:
parent
a80331c26c
commit
fb4b8ec146
|
@ -165,3 +165,4 @@ Ji-In Moon <jiin.moon@samsung.com>
|
||||||
Subodh Kumar <s7158.kumar@samsung.com>
|
Subodh Kumar <s7158.kumar@samsung.com>
|
||||||
Kumar Navneet <k.navneet@samsung.com>
|
Kumar Navneet <k.navneet@samsung.com>
|
||||||
Godly T Alias <godly.talias@samsung.com>
|
Godly T Alias <godly.talias@samsung.com>
|
||||||
|
Shashank Pandey <shashank.p@samsung.com> <shashank0990@gmail.com>
|
||||||
|
|
|
@ -7535,7 +7535,7 @@ _filter_iterator_next(Elm_Genlist_Filter *iter, void **data)
|
||||||
Elm_Gen_Item *item;
|
Elm_Gen_Item *item;
|
||||||
while (iter->current)
|
while (iter->current)
|
||||||
{
|
{
|
||||||
item = ELM_GENLIST_FILTER_CONTAINER_GET(iter->current, Elm_Gen_Item);
|
item = ELM_GENLIST_FILTER_ITERATOR_ITEM_GET(iter->current, Elm_Gen_Item);
|
||||||
iter->current = iter->current->next;
|
iter->current = iter->current->next;
|
||||||
if (_item_filtered_get(item))
|
if (_item_filtered_get(item))
|
||||||
{
|
{
|
||||||
|
@ -7549,9 +7549,16 @@ _filter_iterator_next(Elm_Genlist_Filter *iter, void **data)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_filter_iterator_free(Elm_Genlist_Filter *it)
|
_filter_iterator_free(Elm_Genlist_Filter *iter)
|
||||||
{
|
{
|
||||||
free(it);
|
free(iter);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Evas_Object *
|
||||||
|
_filter_iterator_get_container(Elm_Genlist_Filter *iter)
|
||||||
|
{
|
||||||
|
Elm_Gen_Item *it = ELM_GENLIST_FILTER_ITERATOR_ITEM_GET(iter->head, Elm_Gen_Item);
|
||||||
|
return WIDGET(it);
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN Eina_Iterator *
|
EOLIAN Eina_Iterator *
|
||||||
|
@ -7566,7 +7573,8 @@ _elm_genlist_filter_iterator_new(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd)
|
||||||
|
|
||||||
iter->iterator.version = EINA_ITERATOR_VERSION;
|
iter->iterator.version = EINA_ITERATOR_VERSION;
|
||||||
iter->iterator.next = FUNC_ITERATOR_NEXT(_filter_iterator_next);
|
iter->iterator.next = FUNC_ITERATOR_NEXT(_filter_iterator_next);
|
||||||
iter->iterator.get_container = sd->obj;
|
iter->iterator.get_container = FUNC_ITERATOR_GET_CONTAINER(
|
||||||
|
_filter_iterator_get_container);
|
||||||
iter->iterator.free = FUNC_ITERATOR_FREE(_filter_iterator_free);
|
iter->iterator.free = FUNC_ITERATOR_FREE(_filter_iterator_free);
|
||||||
|
|
||||||
EINA_MAGIC_SET(&iter->iterator, EINA_MAGIC_ITERATOR);
|
EINA_MAGIC_SET(&iter->iterator, EINA_MAGIC_ITERATOR);
|
||||||
|
|
|
@ -299,7 +299,7 @@ struct _Elm_Genlist_Filter
|
||||||
const Eina_Inlist *current;
|
const Eina_Inlist *current;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define ELM_GENLIST_FILTER_CONTAINER_GET(ptr, \
|
#define ELM_GENLIST_FILTER_ITERATOR_ITEM_GET(ptr, \
|
||||||
type) ((type *)((char *)ptr - \
|
type) ((type *)((char *)ptr - \
|
||||||
offsetof(type, __in_list)))
|
offsetof(type, __in_list)))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue