forked from enlightenment/efl
[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>
|
||||
Kumar Navneet <k.navneet@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;
|
||||
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;
|
||||
if (_item_filtered_get(item))
|
||||
{
|
||||
|
@ -7549,9 +7549,16 @@ _filter_iterator_next(Elm_Genlist_Filter *iter, void **data)
|
|||
}
|
||||
|
||||
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 *
|
||||
|
@ -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.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);
|
||||
|
||||
EINA_MAGIC_SET(&iter->iterator, EINA_MAGIC_ITERATOR);
|
||||
|
|
|
@ -299,7 +299,7 @@ struct _Elm_Genlist_Filter
|
|||
const Eina_Inlist *current;
|
||||
};
|
||||
|
||||
#define ELM_GENLIST_FILTER_CONTAINER_GET(ptr, \
|
||||
#define ELM_GENLIST_FILTER_ITERATOR_ITEM_GET(ptr, \
|
||||
type) ((type *)((char *)ptr - \
|
||||
offsetof(type, __in_list)))
|
||||
|
||||
|
|
Loading…
Reference in New Issue