xserver: Branch 'server-1.6-branch'
Keith Packard
keithp at kemper.freedesktop.org
Tue Aug 25 22:33:50 PDT 2009
Xext/xtest.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit d8e48deb212767c4dfce982e6cb9d1b1fce63b96
Author: Keith Packard <keithp at keithp.com>
Date: Tue Aug 25 22:29:25 2009 -0700
Block signals while delivering XTest events (fixes bug 23100)
XTest uses the same event list as all input devices, and input devices
use it at SIGIO time. This causes mass confusion when a SIGIO event
occurs in the middle of XTest event processing.
The master branch has a much different fix, using a separate input
queue which reduces latency that may be caused by XTest event queuing;
it's a 'nicer' fix in some ways, but this simple fix should solve the
problem.
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Keith Packard <keithp at keithp.com>
diff --git a/Xext/xtest.c b/Xext/xtest.c
index 9cfe8ca..e5ab7b4 100644
--- a/Xext/xtest.c
+++ b/Xext/xtest.c
@@ -384,6 +384,7 @@ ProcXTestFakeInput(client)
if (screenIsSaved == SCREEN_SAVER_ON)
dixSaveScreens(serverClient, SCREEN_SAVER_OFF, ScreenSaverReset);
+ OsBlockSignals();
GetEventList(&events);
switch(type) {
case MotionNotify:
@@ -402,7 +403,6 @@ ProcXTestFakeInput(client)
break;
}
- OsBlockSignals();
for (i = 0; i < nevents; i++)
mieqEnqueue(dev, (events+i)->event);
OsReleaseSignals();
More information about the xorg-commit
mailing list