summaryrefslogtreecommitdiff
path: root/src
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:40:31 +0900
commit6728822e91ededf5053fed8e0f677b2cfd37797d (patch)
tree4b5b3a9ffe25e2a22bf1d19aebca54b1c4a9be47 /src
parente7d56e9ece17838ddca568f3e316c5252ea9e352 (diff)
downloadefl-6728822e91ededf5053fed8e0f677b2cfd37797d.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
Diffstat (limited to 'src')
-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 2a77d9f5da..63b01ab084 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;
}