diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-09-01 14:29:10 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-09-13 09:57:05 +0900 |
commit | c5a9e49a9bbcf2b7991b9bfbeb5041a30348bdde (patch) | |
tree | 6bfe3ac408dd8e6e8b88d91ff0bbd0670fca67ca | |
parent | 966577ffedec4f1d92265a7c17b1e633c345eb09 (diff) | |
download | efl-c5a9e49a9bbcf2b7991b9bfbeb5041a30348bdde.tar.gz |
evas: Add some EO safety to legacy EAPI
-rw-r--r-- | src/lib/evas/canvas/evas_object_smart.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c index 98ef3a3403..760298e5be 100644 --- a/src/lib/evas/canvas/evas_object_smart.c +++ b/src/lib/evas/canvas/evas_object_smart.c @@ -198,9 +198,6 @@ evas_object_smart_smart_get(const Efl_Canvas_Group *eo_obj) EAPI void evas_object_smart_member_add(Evas_Object *eo_obj, Evas_Object *smart_obj) { - MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ); - return; - MAGIC_CHECK_END(); efl_canvas_group_member_add(smart_obj, eo_obj); } @@ -208,7 +205,7 @@ EOLIAN static void _efl_canvas_group_group_member_add(Eo *smart_obj, Evas_Smart_Data *o, Evas_Object *eo_obj) { - Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); + Evas_Object_Protected_Data *obj = efl_data_scope_safe_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); Evas_Object_Protected_Data *smart = efl_data_scope_get(smart_obj, EFL_CANVAS_OBJECT_CLASS); Evas_Smart_Data *member_o = NULL; @@ -294,10 +291,7 @@ _efl_canvas_group_group_member_add(Eo *smart_obj, Evas_Smart_Data *o, Evas_Objec EAPI void evas_object_smart_member_del(Evas_Object *eo_obj) { - MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ); - return; - MAGIC_CHECK_END(); - Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); + Evas_Object_Protected_Data *obj = efl_data_scope_safe_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); if (!obj) return; if (!obj->smart.parent) return; Evas_Object *smart_obj = obj->smart.parent; @@ -307,10 +301,10 @@ evas_object_smart_member_del(Evas_Object *eo_obj) EOLIAN static void _efl_canvas_group_group_member_del(Eo *smart_obj, Evas_Smart_Data *_pd EINA_UNUSED, Evas_Object *eo_obj) { - Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); + Evas_Object_Protected_Data *obj = efl_data_scope_safe_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); Evas_Smart_Data *member_o; - if (!obj->smart.parent) return; + if (!obj || !obj->smart.parent) return; evas_object_async_block(obj); Evas_Object_Protected_Data *smart = efl_data_scope_get(smart_obj, EFL_CANVAS_OBJECT_CLASS); @@ -657,8 +651,15 @@ _efl_canvas_group_efl_object_debug_name_override(Eo *eo_obj, Evas_Smart_Data *o, smart_class = obj->smart.smart->smart_class->name; sb = efl_debug_name_override(efl_super(eo_obj, MY_CLASS), sb); - eina_strbuf_append_printf(sb, ":children=%d:smart_class=%s", - eina_inlist_count(o->contained), smart_class); + if (smart_class) + { + eina_strbuf_append_printf(sb, ":children=%d:smart_class=%s", + eina_inlist_count(o->contained), smart_class); + } + else + { + eina_strbuf_append_printf(sb, ":children=%d", eina_inlist_count(o->contained)); + } return sb; } |