Bob Woodside wrote: > > Dominik Vogt wrote: > > > > Anyway, if you send me your sample program I'll have a look at the > > problem. > > Erm...it was attached to the last email. However, ignore it. I'll send > you a revised version, if you like, that reveals more information. > Here's what it shows. > > The Leave/Enter events are semi-spurious. They occur (in that order) > between every Btn1Down and Btn1Up, and they have mode = NotifyGrab and > mode = NotifyUngrab, respectively. This happens when the pointer gets > grabbed away from the window it's currently in. It looks like we're > grabbing way too often - or possibly even doing the whole focus thing > too often - on every single click. This should happen only on the first > click needed to transfer focus to the window, not on subsequent clicks > when the window already has the focus. It confuses the Xt lib routines > that handle double click detection.
On further investigation, I can't see any extra grabs occurring. But upon looking at the changes in events.c (HandleEnterNotify and HandleLeaveNotify), I see you've been wrestling with this general problem already, a few months ago. It looks as though we may have some more fine-tuning to do in that area. I'm attaching the revised version of the test program - it's really little more than a textbook example that *should* work as is. Cheers, Bob
dblclktst2.tar.gz
Description: GNU Zip compressed data