forked from enlightenment/efl
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:
parent
e7d56e9ece
commit
6728822e91
|
@ -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_Object_Protected_Data *smart = eo_data_scope_get(smart_obj, EFL_CANVAS_OBJECT_CLASS);
|
||||||
Evas_Smart_Data *member_o = NULL;
|
Evas_Smart_Data *member_o = NULL;
|
||||||
|
|
||||||
|
if ((!obj) || (!smart)) return;
|
||||||
if (obj->delete_me)
|
if (obj->delete_me)
|
||||||
{
|
{
|
||||||
CRI("Adding deleted object %p to smart obj %p", eo_obj, smart_obj);
|
CRI("Adding deleted object %p to smart obj %p", eo_obj, smart_obj);
|
||||||
abort();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (smart->delete_me)
|
if (smart->delete_me)
|
||||||
{
|
{
|
||||||
CRI("Adding object %p to deleted smart obj %p", eo_obj, smart_obj);
|
CRI("Adding object %p to deleted smart obj %p", eo_obj, smart_obj);
|
||||||
abort();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!smart->layer)
|
if (!smart->layer)
|
||||||
{
|
{
|
||||||
CRI("No evas surface associated with smart object (%p)", smart_obj);
|
CRI("No evas surface associated with smart object (%p)", smart_obj);
|
||||||
abort();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((obj->layer && smart->layer) &&
|
if ((obj->layer && smart->layer) &&
|
||||||
(obj->layer->evas != smart->layer->evas))
|
(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);
|
CRI("Adding object %p from Evas (%p) from another Evas (%p)", eo_obj, obj->layer->evas, smart->layer->evas);
|
||||||
abort();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue