seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=5b7b6508eb401204508f4e8695be4c465aa2add5
commit 5b7b6508eb401204508f4e8695be4c465aa2add5 Author: Daniel Juyung Seo <[email protected]> Date: Fri Mar 21 02:35:29 2014 +0900 test_dnd: Fixed memory leak. Free item's data on item deletion. This fixes coverity CID 1193246: Resource leak (RESOURCE_LEAK). --- src/bin/test_dnd.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/bin/test_dnd.c b/src/bin/test_dnd.c index 739843f..63b89fd 100644 --- a/src/bin/test_dnd.c +++ b/src/bin/test_dnd.c @@ -73,6 +73,12 @@ gl_content_get(void *data, Evas_Object *obj, const char *part) } static void +gl_del_cb(void *data, Evas_Object *obj EINA_UNUSED) +{ + eina_stringshare_del(data); +} + +static void _win_del(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("<%s> <%d> will del <%p>\n", __func__, __LINE__, data); @@ -184,8 +190,8 @@ _grid_dropcb(void *data EINA_UNUSED, Evas_Object *obj, Elm_Object_Item *it, Elm_ *p2 = '\0'; printf("Item %s\n", p); if (!it) it = elm_gengrid_last_item_get(obj); - if (it) it = elm_gengrid_item_insert_after(obj, gic, strdup(p), it, NULL, NULL); - else it = elm_gengrid_item_append(obj, gic, strdup(p), NULL, NULL); + if (it) it = elm_gengrid_item_insert_after(obj, gic, eina_stringshare_add(p), it, NULL, NULL); + else it = elm_gengrid_item_append(obj, gic, eina_stringshare_add(p), NULL, NULL); p = p2; } else p = NULL; @@ -901,6 +907,7 @@ test_dnd_genlist_gengrid(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, v gic->item_style = "default"; gic->func.text_get = gl_text_get; gic->func.content_get = gl_content_get; + gic->func.del = gl_del_cb; elm_drop_item_container_add(grid, ELM_SEL_FORMAT_TARGETS, _grid_item_getcb, NULL, NULL, NULL, NULL, NULL, NULL, _grid_dropcb, NULL); --
