Summary: If the inlist has only one item when it removed. the data is not freed in descturctor.
Reviewers: Hermet, raster, vtorri
Reviewed By: Hermet
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12147
EINA_INLIST_FOREACH(pseat->pointers, pdata)
if (pdata->pointer == pointer)
{
- pseat->pointers = eina_inlist_remove(pseat->pointers, EINA_INLIST_GET(pdata));
- if (!nofree) free(pdata);
+ if (!nofree)
+ {
+ pseat->pointers = eina_inlist_remove(pseat->pointers, EINA_INLIST_GET(pdata));
+ free(pdata);
+ }
hit = pseat;
break;
}
EINA_SAFETY_ON_NULL_RETURN(hit);
if (hit->pointers) return;
hit->object.in = eina_list_free(hit->object.in);
- edata->seats = eina_inlist_remove(edata->seats, EINA_INLIST_GET(hit));
- if (!nofree) free(hit);
+ if (!nofree)
+ {
+ edata->seats = eina_inlist_remove(edata->seats, EINA_INLIST_GET(hit));
+ free(hit);
+ }
}
Eina_List *