On Sep 3, 6:37 am, "Edward K. Ream" <[email protected]> wrote:

> > As I write this, I see that it may be possible to use an application-
> > wide lockout, say g.app.dragging, to detect this case.  
>
> Probably not.  If two drag-enter events happen, we would need to clear
> them both. But that's not possible across different copies of Leo.

I believe the lockout scheme is necessary.  Indeed, drags within the
*same* outline can generate redundant drag-enter events if the cursor
leaves the Leo outline.  Thus, imo, the lockout scheme is absolutely
essential.

Furthermore, if the lock isn't cleared (as the result of a inter-app
drag), the lockout will be cleared the next time a drag is attempted,
even though the drag will fail.

In short, I think the code I am about to push is the best that can be
done.

Edward

P.S. All gui frameworks have such event-related problems.  It's
extremely difficult for designers to get things exactly right in all
situations.  Alas, it's practically impossible to change how the gui
generates events once apps start using them.  The last thing the gui
people want to do is break the most complex code in any app, namely
the event-driven code.

In other words, we almost always have to live with the events as they
are.  Filing a bug report seems pretty hopeless.

I suppose one could image passing a process id along with drag/drop
events, but I'm not holding my breath.

EKR

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en.

Reply via email to