From: Daniel J S. <dan...@ie...> - 2004-06-15 19:08:33
|
Ethan Merritt wrote: >I have replicated your observation, and I can confirm that >the patch fixes it. If it bothers you, you can apply the attached >patch to gplt_x11.c. This patch is from Jay Painter, and I don't >fully understand it, which is why I was reluctant to insert it into >version 4.0 late in the game. > Well, I can't get the patch to work on the latest CVS version. The diff file breaks up the hunks in a strange way where "#ifdef USE_MOUSE" and "#if 0" are used. There are a number of modifications in the patch, but it seems to me the new core change within is the use of XCheckEvent, i.e., + while (XCheckTypedWindowEvent(dpy, event->xany.window, ConfigureNotify, event)); What this does, I believe, is keep getting ConfigureNotify type events (and discarding after getting) until there are none left in the queue. At that point the last one that was retrieved (XCheckEvent doesn't modify "event" unless there is a valid one present) is the one that is acted upon. I'm assuming then with this change the mouse events that are queued, except for the most recent, are discarded. As for all the other smaller changes, I can't tell what the ramifications are without being able to patch the file. Dan |