jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1729930db0c5d2d1af8a0d8be916565681514517
commit 1729930db0c5d2d1af8a0d8be916565681514517 Author: Jean-Philippe Andre <[email protected]> Date: Wed Jun 14 14:08:25 2017 +0900 evas: Use efl_data_scope_safe_get in evas events This removes a few NULL + efl_isa safety checks. --- src/lib/evas/canvas/efl_canvas_proxy.c | 2 +- src/lib/evas/canvas/evas_callbacks.c | 37 +++++++++------------------------- src/lib/evas/include/evas_private.h | 3 +-- 3 files changed, 12 insertions(+), 30 deletions(-) diff --git a/src/lib/evas/canvas/efl_canvas_proxy.c b/src/lib/evas/canvas/efl_canvas_proxy.c index 3d9aa380b2..47e32e9d57 100644 --- a/src/lib/evas/canvas/efl_canvas_proxy.c +++ b/src/lib/evas/canvas/efl_canvas_proxy.c @@ -251,7 +251,7 @@ _proxy_image_get(Evas_Image_Data *o) return NULL; if (efl_isa(o->cur->source, EFL_CANVAS_IMAGE_INTERNAL_CLASS)) - source_img = efl_data_scope_get(o->cur->source, EFL_CANVAS_IMAGE_INTERNAL_CLASS); + source_img = efl_data_scope_safe_get(o->cur->source, EFL_CANVAS_IMAGE_INTERNAL_CLASS); if (source_img) return source_img->engine_data; diff --git a/src/lib/evas/canvas/evas_callbacks.c b/src/lib/evas/canvas/evas_callbacks.c index 822baa2133..faf0c483f3 100644 --- a/src/lib/evas/canvas/evas_callbacks.c +++ b/src/lib/evas/canvas/evas_callbacks.c @@ -460,9 +460,7 @@ evas_object_event_callback_add(Evas_Object *eo_obj, Evas_Callback_Type type, Eva EAPI void evas_object_event_callback_priority_add(Evas_Object *eo_obj, Evas_Callback_Type type, Evas_Callback_Priority priority, Evas_Object_Event_Cb func, const void *data) { - if(!eo_obj) return; - EINA_SAFETY_ON_FALSE_RETURN(efl_isa(eo_obj, EFL_CANVAS_OBJECT_CLASS)); - 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_Event_Cb_Wrapper_Info *cb_info; const Efl_Event_Description *desc; @@ -485,9 +483,7 @@ evas_object_event_callback_priority_add(Evas_Object *eo_obj, Evas_Callback_Type EAPI void * evas_object_event_callback_del(Evas_Object *eo_obj, Evas_Callback_Type type, Evas_Object_Event_Cb func) { - if(!eo_obj) return NULL; - EINA_SAFETY_ON_FALSE_RETURN_VAL(efl_isa(eo_obj, EFL_CANVAS_OBJECT_CLASS), NULL); - 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_Event_Cb_Wrapper_Info *info; if (!obj) return NULL; @@ -514,9 +510,7 @@ evas_object_event_callback_del(Evas_Object *eo_obj, Evas_Callback_Type type, Eva EAPI void * evas_object_event_callback_del_full(Evas_Object *eo_obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data) { - if(!eo_obj) return NULL; - EINA_SAFETY_ON_FALSE_RETURN_VAL(efl_isa(eo_obj, EFL_CANVAS_OBJECT_CLASS), NULL); - 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_Event_Cb_Wrapper_Info *info; if (!obj) return NULL; @@ -550,12 +544,11 @@ evas_event_callback_add(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb func, EAPI void evas_event_callback_priority_add(Evas *eo_e, Evas_Callback_Type type, Evas_Callback_Priority priority, Evas_Event_Cb func, const void *data) { - if(!eo_e) return; - EINA_SAFETY_ON_FALSE_RETURN(efl_isa(eo_e, EVAS_CANVAS_CLASS)); - Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS); + Evas_Public_Data *e = efl_data_scope_safe_get(eo_e, EVAS_CANVAS_CLASS); Evas_Event_Cb_Wrapper_Info *cb_info; const Efl_Event_Description *desc; + if (!e) return; if (!func) return; cb_info = calloc(1, sizeof(*cb_info)); @@ -573,9 +566,7 @@ evas_event_callback_priority_add(Evas *eo_e, Evas_Callback_Type type, Evas_Callb EAPI void * evas_event_callback_del(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb func) { - if(!eo_e) return NULL; - EINA_SAFETY_ON_FALSE_RETURN_VAL(efl_isa(eo_e, EVAS_CANVAS_CLASS), NULL); - Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS); + Evas_Public_Data *e = efl_data_scope_safe_get(eo_e, EVAS_CANVAS_CLASS); Evas_Event_Cb_Wrapper_Info *info; if (!e) return NULL; @@ -602,9 +593,7 @@ evas_event_callback_del(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb func) EAPI void * evas_event_callback_del_full(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data) { - if(!eo_e) return NULL; - EINA_SAFETY_ON_FALSE_RETURN_VAL(efl_isa(eo_e, EVAS_CANVAS_CLASS), NULL); - Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS); + Evas_Public_Data *e = efl_data_scope_safe_get(eo_e, EVAS_CANVAS_CLASS); Evas_Event_Cb_Wrapper_Info *info; if (!e) return NULL; @@ -631,9 +620,7 @@ evas_event_callback_del_full(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb EAPI void evas_post_event_callback_push(Evas *eo_e, Evas_Object_Event_Post_Cb func, const void *data) { - if(!eo_e) return; - EINA_SAFETY_ON_FALSE_RETURN(efl_isa(eo_e, EVAS_CANVAS_CLASS)); - Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS); + Evas_Public_Data *e = efl_data_scope_safe_get(eo_e, EVAS_CANVAS_CLASS); Evas_Post_Callback *pc; if (!e || e->delete_me) return; @@ -657,9 +644,7 @@ evas_post_event_callback_push(Evas *eo_e, Evas_Object_Event_Post_Cb func, const EAPI void evas_post_event_callback_remove(Evas *eo_e, Evas_Object_Event_Post_Cb func) { - if(!eo_e) return; - EINA_SAFETY_ON_FALSE_RETURN(efl_isa(eo_e, EVAS_CANVAS_CLASS)); - Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS); + Evas_Public_Data *e = efl_data_scope_safe_get(eo_e, EVAS_CANVAS_CLASS); Evas_Post_Callback *pc; Eina_List *l; @@ -677,9 +662,7 @@ evas_post_event_callback_remove(Evas *eo_e, Evas_Object_Event_Post_Cb func) EAPI void evas_post_event_callback_remove_full(Evas *eo_e, Evas_Object_Event_Post_Cb func, const void *data) { - if(!eo_e) return; - EINA_SAFETY_ON_FALSE_RETURN(efl_isa(eo_e, EVAS_CANVAS_CLASS)); - Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS); + Evas_Public_Data *e = efl_data_scope_safe_get(eo_e, EVAS_CANVAS_CLASS); Evas_Post_Callback *pc; Eina_List *l; diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h index fea6c3a81d..7780ddb135 100644 --- a/src/lib/evas/include/evas_private.h +++ b/src/lib/evas/include/evas_private.h @@ -633,8 +633,7 @@ MAGIC_CHECK_FAILED(o, t, m) #endif #define EVAS_LEGACY_API(_obj, _e, ...) \ - Evas_Public_Data *_e = (_obj && efl_isa(_obj, EVAS_CANVAS_CLASS)) ? \ - efl_data_scope_get(_obj, EVAS_CANVAS_CLASS) : NULL; \ + Evas_Public_Data *_e = efl_data_scope_safe_get((_obj), EVAS_CANVAS_CLASS); \ if (!_e) return __VA_ARGS__ #define EVAS_OBJECT_IMAGE_FREE_FILE_AND_KEY(cur, prev) \ --
