aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/emotion
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-02-15 20:07:11 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-02-15 20:11:22 +0900
commitd689afccaeceacd1f8e06e9d161ca7591a6a334f (patch)
tree95bfbb6ac1d0aa2351fab32007d8221d0dbe5c7d /src/lib/emotion
parenteo: Fix shadow variable warning (diff)
downloadefl-d689afccaeceacd1f8e06e9d161ca7591a6a334f.tar.gz
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 https://phab.enlightenment.org/T4598
Diffstat (limited to 'src/lib/emotion')
-rw-r--r--src/lib/emotion/emotion_smart.c2
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_
EOLIAN static void
_efl_canvas_video_efl_canvas_group_group_del(Evas_Object *obj EINA_UNUSED, Efl_Canvas_Video_Data *sd)
{
- if (!sd) return;
if (sd->engine_instance)
{
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
if (sd->smartobj) evas_object_smart_data_set(sd->smartobj, NULL);
sd->smartobj = NULL;
EINA_REFCOUNT_UNREF(sd) _smart_data_free(sd);
+ efl_canvas_group_del(efl_super(obj, MY_CLASS));
}
EOLIAN static void