On Wed, 15 May 2013 02:14:55 -0400
Julian Elischer <[email protected]> wrote:

> I would suggest that one answer would be to create an extension to 
> register a
> kevent to catch these events..
> 
> (the knote_drop())
> 
> The returned event could have all the appropriate information for the
> event being dropped..

Is that not the exact thing I suggested?

The "extension to create register a kevent to catch these events" is
that you put the EV_DROPWATCH bit flag in the event at the time you
register it.

The "returned event [that] could have all the appropriate informaiton
for the event being dropped" is that you receive an event with
EV_DROPPED set on it. It being a real event includes of course the
udata pointer, so you can handle it.

It's really simple to use:

 When you register,

    ev->flags |= EV_DROPWATCH


 When you receive an event, process it in the normal way, then

    if(ev->flags & EV_DROPPED)
      free(ev->udata);

and that is all there is to it.

-- 
Paul "LeoNerd" Evans

[email protected]
ICQ# 4135350       |  Registered Linux# 179460
http://www.leonerd.org.uk/

Attachment: signature.asc
Description: PGP signature

Reply via email to