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
This commit is contained in:
Carsten Haitzler 2016-08-15 11:40:31 +09:00
parent e7d56e9ece
commit 6728822e91
1 changed files with 1 additions and 4 deletions

View File

@ -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;
}