cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=5f5af596e04aef455f0e6158ace2bc9b8cfbabe5

commit 5f5af596e04aef455f0e6158ace2bc9b8cfbabe5
Author: Cedric BAIL <ced...@osg.samsung.com>
Date:   Tue May 15 10:52:12 2018 -0700

    elementary: cleanup genlist destructor to order content destruction 
correctly.
---
 src/lib/elementary/elm_genlist.c | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index 5820d3cd47..6545a86446 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -5699,26 +5699,28 @@ _elm_genlist_efl_canvas_group_group_del(Eo *obj, 
Elm_Genlist_Data *sd)
    int i;
 
    elm_genlist_clear(obj);
+   _item_cache_zero(sd);
+
+   efl_canvas_group_del(efl_super(obj, MY_CLASS));
+
    for (i = 0; i < 2; i++)
      ELM_SAFE_FREE(sd->stack[i], evas_object_del);
 
    evas_event_callback_del_full(evas_object_evas_get(obj),
                                 EVAS_CALLBACK_CANVAS_VIEWPORT_RESIZE,
                                 _evas_viewport_resize_cb, sd);
+
+   ELM_SAFE_FREE(sd->calc_job, ecore_job_del);
+   ELM_SAFE_FREE(sd->update_job, ecore_job_del);
    ELM_SAFE_FREE(sd->pan_obj, evas_object_del);
+   ELM_SAFE_FREE(sd->queue_idle_enterer, ecore_idle_enterer_del);
+   ELM_SAFE_FREE(sd->must_recalc_idler, ecore_idler_del);
+   ELM_SAFE_FREE(sd->multi_timer, ecore_timer_del);
+   ELM_SAFE_FREE(sd->size_caches, eina_hash_free);
 
-   _item_cache_zero(sd);
-   ecore_job_del(sd->calc_job);
-   ecore_job_del(sd->update_job);
-   ecore_idle_enterer_del(sd->queue_idle_enterer);
-   ecore_idler_del(sd->must_recalc_idler);
-   ecore_timer_del(sd->multi_timer);
-   eina_stringshare_del(sd->decorate_it_type);
-   eina_hash_free(sd->size_caches);
+   eina_stringshare_replace(&sd->decorate_it_type, NULL);
 
    _elm_genlist_tree_effect_stop(sd);
-
-   efl_canvas_group_del(efl_super(obj, MY_CLASS));
 }
 
 EOLIAN static void

-- 


Reply via email to