On 24 October 2016 at 16:11, <[email protected]> wrote: > On Mon, Oct 24, 2016 at 12:21:19PM +0900, Jean-Philippe André wrote: > > Hey Marcel, > > > > On 23 October 2016 at 16:45, <[email protected]> wrote: > > > > > I am not wondering thats its YOU dont who dont like my change... :) > > > > > > Well there are two reasons to NOT have a Error message. > > > > > > First, it was before like that, so before it was completly valid, no > > > error, now you will have a shitload of error messages in your console. > > > Which was the case since evas_object_event_callback_del_full was > called > > > on cursor objects, undependent from if they are NULL or not. So if you > > > dont want to have this NULL check, feel free the go to all api calls in > > > EFL and check if they are valid. > > > > > > Also, complete eo works like that, if you call things on a NULL object, > > > nothing will happen ... So i guess the same for evas_object_* functions > > > should be the case. > > > > > > So no, its a correct usecase. > > > > > > > Not really. > > It's not because it was silently ignored that the calls were actually > valid. > > > > In fact doing something on NULL (except del) should trigger an error or > > warning message. > > Hiding error messages is really just that: it's hiding an invalid code > path. > > This does not make sense. > > Honestly, why should: > > ecore_event_handler_del(NULL) > > be fine but: > > evas_object_event_callback_del_full(NULL) > > give a error ? > > Even more, all the functions from eo, just dont do anything, why > should this single function give a error? Sure its usefull to get > warned, HEY you are doing this on a null obj, but if we do so it should > be consistent over all the api, and not just those few evas api´s. > But i guess this will not fit into anyones time scheudle. :) >
If you call an EO function on a NULL object you get an error message (a cryptic one btw, should be improved). So the above scenario where you call a function that silently does nothing on NULL is not going to happen much as we move to EO. One way or another remember that those are only debug logs. Not a functional change. More debug is usually better, maybe ERR is too high a level. But ignoring errors silently is a sure way to add bugs in the future :) > Let's instead fix the root causes for those calls on NULL. > > Yes, that more work, and it also shows more error logs in existing > careless > > apps. In the long run, this helps. > > > > Best regards, > > > > > > On Sun, Oct 23, 2016 at 08:56:10AM +0200, Davide Andreoli wrote: > > > > hey, I don't like this change. passing a NULL obj to those functions > > > can't > > > > be correct and an error message is imo the right think to do. > > > > In fact yesterday I spotted 2 hidden bugs in python-efl thanks to the > > > > message you removed. > > > > Do you have a correct use case for this? or you are just lazy and > don't > > > > want to see errors on console? :P > > > > > > > > 2016-10-22 20:32 GMT+02:00 Marcel Hollerbach < > > > [email protected]> > > > > : > > > > > > > > > bu5hm4n pushed a commit to branch master. > > > > > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id= > > > > > 0180da708dda0d95fc34ec68c7d65d2df9ab4f95 > > > > > > > > > > commit 0180da708dda0d95fc34ec68c7d65d2df9ab4f95 > > > > > Author: Marcel Hollerbach <[email protected]> > > > > > Date: Sat Oct 22 19:26:47 2016 +0200 > > > > > > > > > > evas_callbacks: restore error message behaviour from > MAGIC_CHECK > > > > > > > > > > before changing MAGIC_CHECK to eo_isa passing NULL to a > function > > > would > > > > > result in nothing, now it gives a error message. This restores > the > > > old > > > > > behaviour. > > > > > --- > > > > > src/lib/evas/canvas/evas_callbacks.c | 9 +++++++++ > > > > > 1 file changed, 9 insertions(+) > > > > > > > > > > diff --git a/src/lib/evas/canvas/evas_callbacks.c > > > > > b/src/lib/evas/canvas/evas_callbacks.c > > > > > index 7842e7c..18117bf 100644 > > > > > --- a/src/lib/evas/canvas/evas_callbacks.c > > > > > +++ b/src/lib/evas/canvas/evas_callbacks.c > > > > > @@ -386,6 +386,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); > > > > > > > > > > @@ -408,6 +409,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); > > > > > _eo_evas_object_cb_info *info; > > > > > @@ -436,6 +438,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); > > > > > _eo_evas_object_cb_info *info; > > > > > @@ -471,6 +474,7 @@ 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); > > > > > > > > > > @@ -490,6 +494,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); > > > > > _eo_evas_cb_info *info; > > > > > @@ -518,6 +523,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); > > > > > _eo_evas_cb_info *info; > > > > > @@ -546,6 +552,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_Post_Callback *pc; > > > > > @@ -565,6 +572,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_Post_Callback *pc; > > > > > @@ -584,6 +592,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_Post_Callback *pc; > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------ > > > ------------------ > > > > Check out the vibrant tech community on one of the world's most > > > > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > > > > _______________________________________________ > > > > enlightenment-devel mailing list > > > > [email protected] > > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > ------------------------------------------------------------ > > > ------------------ > > > Check out the vibrant tech community on one of the world's most > > > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > > > _______________________________________________ > > > enlightenment-devel mailing list > > > [email protected] > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > > > > > > > -- > > Jean-Philippe André > > ------------------------------------------------------------ > ------------------ > > Check out the vibrant tech community on one of the world's most > > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > > _______________________________________________ > > enlightenment-devel mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > -- Jean-Philippe André ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
