On 19/06/16 02:24, Carsten Haitzler wrote:
> On Fri, 17 Jun 2016 09:21:13 +0100 Tom Hacohen <t...@osg.samsung.com> said:
>
>> On 17/06/16 03:21, Carsten Haitzler wrote:
>>> On Thu, 16 Jun 2016 19:29:52 +0100 Tom Hacohen <t...@osg.samsung.com> said:
>>>
>>>> On 16/06/16 10:47, Carsten Haitzler wrote:
>>>>> On Thu, 16 Jun 2016 14:28:22 +0900 Jean-Philippe André <j...@videolan.org>
>>>>> said:
>>>>>
>>>>>
>>>>>>>> The ON_HOLD flag, now called efl_event_processed_get/set() is a better
>>>>>>>> approach to stop processing events.
>>>>>>>
>>>>>>> That is off topic, but seriously something we should consider asap if
>>>>>>> we want to drop the return type of event. I have not any case in mind
>>>>>>> where returning EINA_FALSE make sense. Should we drop it ?
>>>>>>>
>>>>>>
>>>>>> I am also thinking we should drop it.
>>>>>> Pretty sure the few places that return EINA_FALSE right now are actually
>>>>>> mistakes and sources of bugs.
>>>>>
>>>>> i think so too. drop the return.
>>>>>
>>>>
>>>> The return is mega useful, though I'm open to implementing it
>>>> differently. The return is there so you can filter events. We currently
>>>> have things like "on_hold" in input events to mark an event has been
>>>> processed and should stop propagating, but the return lets you stop the
>>>> callback. I guess we can change it to be "eo_event_callback_stop(obj)".
>>>
>>> but the thing is.. we don't want to stop the callback. well not where hold
>>> is used. you want to still get the cb but put on hold any actions.like
>>> calling the clicked callback. you still need the event to get the matching
>>> mouse up fro the mouse down for example, but since you started a drag,
>>> after n move events the mouse up (and future moves) should not be acted on.
>>>
>>>> Btw, it shouldn't be a bool, there are defines for the return values. I
>>>> should have typedeffed the type. I'm open to changing to
>>>> eo_event_callback_stop though, just let me know.
>>>>
>>>> Grep for EO_EVENT_STOP, it is already used by code, even code I didn't
>>>> write. :)
>>>
>>> see above. the only use case we have to date is the above and a return just
>>> doesn't do it. you need to have a modified event go through afterwards.
>>>
>>> i did the return true/false for ecore events for pass through. over the
>>> years i have recognized this as a mistake. it's more pain than gain.
>>
>> Again, I don't mind changing it to eo_event_callback_stop(obj). Feels
>> better for making event propagation to stop, but I do like being able to
>> stop it. It is used in the EFL, I just got the name wrong,
>> EO_CALLBACK_STOP. :)
>> It's useful for text filtering iirc, to make it stop processing the
>> filter if one has already failed. It is used and useful.
>
> considering the rarity of this need... i think eo_event_callback_stop() seems
> fine to me. it means the 99% case of passing it on is less likely to have an
> error in it by returning the wrong value (or someone not returning at all and
> they either dont have warnings for that in their compiler or... they have so
> many they miss this warning) :)
>


I need to take a bath after this change, but anyhow: done. :)

--
Tom.

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports. http://sdm.link/zohomanageengine
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to