From 8c8dae5720327dad5a964036df01af16ff8f63a7 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 23 Jun 2017 17:43:58 -0400 Subject: [PATCH] evas: check object layer existence before deref to avoid crash @fix --- src/lib/evas/canvas/evas_object_smart.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c index 0e3fcd94a8..c1421075cb 100644 --- a/src/lib/evas/canvas/evas_object_smart.c +++ b/src/lib/evas/canvas/evas_object_smart.c @@ -366,7 +366,9 @@ _efl_canvas_group_group_member_del(Eo *smart_obj, Evas_Smart_Data *_pd EINA_UNUS // Layer usage shouldn't reach 0 here (as parent is still in layer) obj->layer->usage--; } - evas_object_inject(eo_obj, obj, obj->layer->evas->evas); + /* layer may be destroyed in evas_object_release() call */ + if (obj->layer) + evas_object_inject(eo_obj, obj, obj->layer->evas->evas); obj->restack = 1; evas_object_change(eo_obj, obj); evas_object_mapped_clip_across_mark(eo_obj, obj);