libs-back/Source/x11
Eric Wasylishen 47c06f7ca2 * Source/x11/XGServer.m: Don't read X events in NSConnectionReplyMode
* Source/x11/XGServerEvent.m (-receivedEvent:type:extra:forMode:):
Only read one event from the xlib event queue, instead of all of them.
* Source/x11/XGServerEvent.m (-getEventMatchingMask:beforeDate:inMode:):
Remove call to -receivedEvent:type:extra:forMode:
* Source/x11/XGServerEvent.m (-discardEventsMatchingMask:beforeEvent:):
Remove call to -receivedEvent:type:extra:forMode:

These changes are an attempt to fix a bug where a steady stream
of X events can postpone autodisplay indefinitely. To see it, open
a long document in Ink and scroll with the mousewheel slowly but
continuously. If you scroll steadily enough, the window will not
update until you stop scrolling.

This occurs beacuse autodisplay only occurs when the AppKit event
queue is empty and the runloop runs, and without the above changes,
the AppKit event queue was filling up and not emptying until the
mousewheel events stopped arriving.

In the long run I think we should get rid of the AppKit event queue
and have XGServer override the default implementation of
-[GSDisplayServer getEventMatchingMask:beforeDate:inMode:dequeue:]
and related methods with custom ones that interact
directly with the Xlib event queue.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34553 72102866-910b-0410-8b05-ffd578937521
2012-01-16 06:33:45 +00:00
..
.cvsignore Update FSF Address 2005-05-26 22:51:53 +00:00
context.c * Source/x11/context.c: check for NULL from XRenderFindVisualFormat 2011-11-04 18:04:12 +00:00
convert.c Fixed problems found by sttic code analyser. 2010-09-11 14:00:35 +00:00
GNUmakefile Removed GNUSTEP_CORE_SOFTWARE=YES from makefiles and instead set PACKAGE_NAME=gnustep-back 2008-12-19 13:05:05 +00:00
GNUmakefile.preamble Revert library license version to 2 until applications can be converted 2008-06-10 04:12:46 +00:00
raster.c Allow non-resizable windows to be resized programmatically. 2007-10-12 09:32:27 +00:00
scale.c Add XIM Input Method, UPdate to wraster 0.80.2 2003-07-22 04:28:43 +00:00
wrasterP.h Add/fix copyright and licenses. 2005-07-01 20:43:10 +00:00
xdnd.c Update FSF Address 2005-05-26 22:51:53 +00:00
XGDragView.m * Source/x11/XGDragView.m (GSActionForDragOperation, 2011-09-12 09:18:29 +00:00
XGGLContext.m * Source/win32/w32_GLContext.m: 2010-07-26 01:41:55 +00:00
XGGLFormat.m * Source/x11/XGGLFormat.m (-assembleGLXAttributes:): Use 2011-11-07 20:53:54 +00:00
XGServer.m * Source/x11/XGServer.m: Don't read X events in NSConnectionReplyMode 2012-01-16 06:33:45 +00:00
XGServerEvent.m * Source/x11/XGServer.m: Don't read X events in NSConnectionReplyMode 2012-01-16 06:33:45 +00:00
XGServerWindow.m Protect usage of shape extension. 2011-10-17 11:28:54 +00:00
XIMInputServer.m Fixes warnings reported by clang. 2011-04-09 17:10:49 +00:00
xutil.c Add XIM Input Method, UPdate to wraster 0.80.2 2003-07-22 04:28:43 +00:00
XWindowBuffer.m * Headers/x11/XWindowBuffer.h: Bracket even more usage of shm in 2011-10-20 08:34:49 +00:00