diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-02-15 20:07:11 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-02-15 20:11:22 +0900 |
commit | d689afccaeceacd1f8e06e9d161ca7591a6a334f (patch) | |
tree | 95bfbb6ac1d0aa2351fab32007d8221d0dbe5c7d /src/lib/emotion/emotion_smart.c | |
parent | 8947caf120d7caa4358b9852e0dd72a93e6e908f (diff) |
group: Track calls to group_del
After a long search I found that fileselector was not calling
super.group_del on deletion, leading to the use of dangling pointers.
So let's verify that group_del is properly called.
See T4598
Diffstat (limited to '')
-rw-r--r-- | src/lib/emotion/emotion_smart.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/emotion/emotion_smart.c b/src/lib/emotion/emotion_smart.c index 96f14da295..42b5e35041 100644 --- a/src/lib/emotion/emotion_smart.c +++ b/src/lib/emotion/emotion_smart.c | |||
@@ -1967,7 +1967,6 @@ _efl_canvas_video_efl_canvas_group_group_add(Evas_Object *obj, Efl_Canvas_Video_ | |||
1967 | EOLIAN static void | 1967 | EOLIAN static void |
1968 | _efl_canvas_video_efl_canvas_group_group_del(Evas_Object *obj EINA_UNUSED, Efl_Canvas_Video_Data *sd) | 1968 | _efl_canvas_video_efl_canvas_group_group_del(Evas_Object *obj EINA_UNUSED, Efl_Canvas_Video_Data *sd) |
1969 | { | 1969 | { |
1970 | if (!sd) return; | ||
1971 | if (sd->engine_instance) | 1970 | if (sd->engine_instance) |
1972 | { | 1971 | { |
1973 | emotion_engine_instance_file_close(sd->engine_instance); | 1972 | emotion_engine_instance_file_close(sd->engine_instance); |
@@ -1993,6 +1992,7 @@ _efl_canvas_video_efl_canvas_group_group_del(Evas_Object *obj EINA_UNUSED, Efl_C | |||
1993 | if (sd->smartobj) evas_object_smart_data_set(sd->smartobj, NULL); | 1992 | if (sd->smartobj) evas_object_smart_data_set(sd->smartobj, NULL); |
1994 | sd->smartobj = NULL; | 1993 | sd->smartobj = NULL; |
1995 | EINA_REFCOUNT_UNREF(sd) _smart_data_free(sd); | 1994 | EINA_REFCOUNT_UNREF(sd) _smart_data_free(sd); |
1995 | efl_canvas_group_del(efl_super(obj, MY_CLASS)); | ||
1996 | } | 1996 | } |
1997 | 1997 | ||
1998 | EOLIAN static void | 1998 | EOLIAN static void |