Following step makes SIGABORT by double free.
1. elm_animation_view_add
2. elm_animation_view_file_set
3. evas_object_del
The first free occurs in
(gdb) bt
#0 eina_stringshare_del
#1 _efl_ui_animation_view_efl_canvas_group_group_del
#2 efl_canvas_group_del
#3 evas_object_smart_del
#4 _efl_canvas_object_efl_object_invalidate
#5 efl_invalidate
#6 _efl_ui_widget_efl_object_invalidate
#7 efl_invalidate
#8 _efl_invalidate
#9 _efl_object_parent_set
#10 efl_parent_set
#11 efl_parent_set
#12 efl_del
#13 elm_main
#14 main
the second free occurs in
(gdb) bt
#0 eina_stringshare_del
#1 _efl_file_efl_object_destructor
#2 efl_destructor
#3 efl_destructor
#4 _efl_del_internal
#5 _efl_unref_internal
#6 efl_del
#7 evas_object_del
#8 _efl_ui_widget_efl_canvas_group_group_del
#9 efl_canvas_group_del
#10 efl_canvas_group_del
#11 evas_object_smart_del
#12 _efl_canvas_object_efl_object_invalidate
#13 efl_invalidate
#14 _efl_ui_widget_efl_object_invalidate
#15 efl_invalidate
#16 _efl_invalidate
#17 _efl_object_parent_set
#18 efl_parent_set
#19 efl_parent_set
#20 efl_del
#21 elm_main
#22 main
Change-Id: Iabedaacc6fc82f87e5d4d78bc4a20030419148aa
EOLIAN static void
_efl_ui_animation_view_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Animation_View_Data *pd EINA_UNUSED)
{
- if (pd->file) eina_stringshare_del(pd->file);
if (pd->transit)
{
Elm_Transit *transit = pd->transit;