elc_multibuttonentry: Memory leak fix.
authorShilpa Singh <shilpa.singh@samsung.com>
Thu, 1 Oct 2015 10:03:29 +0000 (19:03 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Thu, 1 Oct 2015 10:03:29 +0000 (19:03 +0900)
Summary:
If item filters are appended and multibuttonentry is deleted, the
filter list is not freed causing leak
Signed-Off By: Kumar Navneet <k.navneet@samsung.com>
Signed-Off By: Shilpa Singh <shilpa.singh@samsung.com>

Test Plan:
append item filters and when multibuttonentry is deleted leak is
observed, run valgrind in this scenario.

Reviewers: Hermet, cedric, CHAN

Subscribers: navnbeet

Differential Revision: https://phab.enlightenment.org/D3118

legacy/elementary/src/lib/elc_multibuttonentry.c

index 52d8429..3078cf5 100644 (file)
@@ -1575,6 +1575,7 @@ EOLIAN static void
 _elm_multibuttonentry_evas_object_smart_del(Eo *obj, Elm_Multibuttonentry_Data *sd)
 {
    Elm_Object_Item *eo_item;
+   Elm_Multibuttonentry_Item_Filter *_item_filter = NULL;
 
    EINA_LIST_FREE(sd->items, eo_item)
      eo_del(eo_item);
@@ -1591,6 +1592,9 @@ _elm_multibuttonentry_evas_object_smart_del(Eo *obj, Elm_Multibuttonentry_Data *
    evas_object_del(sd->end);
    ecore_timer_del(sd->longpress_timer);
 
+   EINA_LIST_FREE(sd->filter_list, _item_filter)
+     _filter_free(_item_filter);
+
    eo_do_super(obj, MY_CLASS, evas_obj_smart_del());
 }