Hi Ryuan,

The problem here is that now you will have a lot of errors from eo_isa 
and his brother. At least, this check was helping on this.

JackDanielZ, alias Daniel the 3rd

On 01/13/2014 02:18 PM, Ryuan Choi wrote:
> ryuan pushed a commit to branch master.
>
> http://git.enlightenment.org/core/elementary.git/commit/?id=4c3e23de9e46fd89672ab657f5da153a3c26a029
>
> commit 4c3e23de9e46fd89672ab657f5da153a3c26a029
> Author: Ryuan Choi <ryuan.c...@gmail.com>
> Date:   Mon Jan 13 21:11:04 2014 +0900
>
>      Widget: Removed !obj checks from ELM_WIDGET_DATA_GET_OR_RETURN and 
> ELM_WIDGET_CHECK
>      
>      eo_data_scope_get and eo_isa returns NULL with complaint when NULL is 
> passed.
>      So, Removed unnecessary !obj check routine.
>      
>      In addition, adopt EINA_UNLIKELY for these macros and fix indentation.
> ---
>   src/lib/elm_widget.h | 16 +++++++---------
>   1 file changed, 7 insertions(+), 9 deletions(-)
>
> diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h
> index f7170f6..ded37bc 100644
> --- a/src/lib/elm_widget.h
> +++ b/src/lib/elm_widget.h
> @@ -801,19 +801,17 @@ EAPI void             elm_widget_tree_dump(const 
> Evas_Object *top);
>   EAPI void             elm_widget_tree_dot_dump(const Evas_Object *top, FILE 
> *output);
>   
>   #define ELM_WIDGET_DATA_GET_OR_RETURN(o, ptr, ...)   \
> -  Elm_Widget_Smart_Data *ptr;                             \
> -  ptr = (o ?                                      \
> -      eo_data_scope_get(o, ELM_OBJ_WIDGET_CLASS) :\
> -      NULL);                                      \
> -  if (!ptr)                                       \
> +  Elm_Widget_Smart_Data *ptr;                        \
> +  ptr = eo_data_scope_get(o, ELM_OBJ_WIDGET_CLASS);  \
> +  if (EINA_UNLIKELY(!ptr))                           \
>       {                                                \
> -       CRI("no widget data for object %p (%s)", \
> -                o, evas_object_type_get(o));      \
> +       CRI("no widget data for object %p (%s)",      \
> +           o, evas_object_type_get(o));              \
>          return __VA_ARGS__;                           \
>       }
>   
> -#define ELM_WIDGET_CHECK(obj)                       \
> -  if (!obj || !eo_isa((obj), ELM_OBJ_WIDGET_CLASS)) \
> +#define ELM_WIDGET_CHECK(obj)                              \
> +  if (EINA_UNLIKELY(!eo_isa((obj), ELM_OBJ_WIDGET_CLASS))) \
>       return
>   
>   /**
>


------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to