Weird, I tested little bit and ELM_WIDGET_CHECK with null object just printed only one line complaint. I thought that null object is wrong case which we should fix (or blame)
Could you let me know more information or reproduce step to get a lot of errors to ensure that my reading is wrong. Best Regards, Ryuan Choi 2014/1/13 daniel.za...@samsung.com <daniel.za...@samsung.com> > 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