summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-08-15 11:40:31 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-08-15 11:52:40 +0900
commit9673fa66ad2bf8ff1521602ee5f3b9ec79f12723 (patch)
tree37e5446d76e84b0b9828312a8e32e3d08c754549
parent96f377728ab17f19b2cf7203ed269f2252e7b821 (diff)
downloadefl-9673fa66ad2bf8ff1521602ee5f3b9ec79f12723.tar.gz
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
-rw-r--r--src/lib/evas/canvas/evas_object_smart.c5
1 files changed, 1 insertions, 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;
}