From 9673fa66ad2bf8ff1521602ee5f3b9ec79f12723 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Mon, 15 Aug 2016 11:40:31 +0900 Subject: evas smart obj - handle invalid object id's when scop data get is NULL handle smart member add if the object is invalid withotu crashing. also don't abort and crash with other invalid states like of smart object or child is to be deleted, has no layer etc. - continue on safely without a crash. @fix --- src/lib/evas/canvas/evas_object_smart.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c index a189101df7..8f10b1c373 100644 --- a/src/lib/evas/canvas/evas_object_smart.c +++ b/src/lib/evas/canvas/evas_object_smart.c @@ -219,29 +219,26 @@ _efl_canvas_group_group_member_add(Eo *smart_obj, Evas_Smart_Data *o, Evas_Objec Evas_Object_Protected_Data *smart = eo_data_scope_get(smart_obj, EFL_CANVAS_OBJECT_CLASS); Evas_Smart_Data *member_o = NULL; + if ((!obj) || (!smart)) return; if (obj->delete_me) { CRI("Adding deleted object %p to smart obj %p", eo_obj, smart_obj); - abort(); return; } if (smart->delete_me) { CRI("Adding object %p to deleted smart obj %p", eo_obj, smart_obj); - abort(); return; } if (!smart->layer) { CRI("No evas surface associated with smart object (%p)", smart_obj); - abort(); return; } if ((obj->layer && smart->layer) && (obj->layer->evas != smart->layer->evas)) { CRI("Adding object %p from Evas (%p) from another Evas (%p)", eo_obj, obj->layer->evas, smart->layer->evas); - abort(); return; } -- cgit v1.2.1