summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-06-23 17:43:58 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-06-23 17:43:44 -0400
commit8c8dae5720327dad5a964036df01af16ff8f63a7 (patch)
tree8b5fead34abf3f91d771ae9353f81cdbf96cd882
parent3d098097bfd9c93c92de4a32b5f7dc7d44be4295 (diff)
downloadefl-8c8dae5720327dad5a964036df01af16ff8f63a7.tar.gz
evas: check object layer existence before deref to avoid crash
@fix
-rw-r--r--src/lib/evas/canvas/evas_object_smart.c4
1 files changed, 3 insertions, 1 deletions
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);