xserver: Branch 'master' - 6 commits
Peter Hutterer
whot at kemper.freedesktop.org
Mon May 4 21:18:35 PDT 2009
Xext/xtest.c | 20 ++++++++++++--------
configure.ac | 7 +++++--
include/misc.h | 2 +-
mi/mipointer.c | 3 +++
4 files changed, 21 insertions(+), 11 deletions(-)
New commits:
commit 1b1b20d6e3e696e4437a9ef56128cde70a485f66
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Tue May 5 13:47:55 2009 +1000
Change glib require for tests to auto.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/configure.ac b/configure.ac
index 3fc4dd4..daddd09 100644
--- a/configure.ac
+++ b/configure.ac
@@ -440,8 +440,8 @@ AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug],
[Enable debugging (default: disabled)]),
[DEBUGGING=$enableval], [DEBUGGING=no])
AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests],
- [Enable unit-tests (default: enabled)]),
- [UNITTESTS=$enableval], [UNITTESTS=yes])
+ [Enable unit-tests (default: auto)]),
+ [UNITTESTS=$enableval], [UNITTESTS=auto])
AC_ARG_WITH(int10, AS_HELP_STRING([--with-int10=BACKEND], [int10 backend: vm86, x86emu or stub]),
[INT10="$withval"],
[INT10="$DEFAULT_INT10"])
@@ -1144,6 +1144,9 @@ if test "x$DEBUGGING" = xyes; then
fi
AM_CONDITIONAL(DEBUG, [test "x$DEBUGGING" = xyes])
+if test "x$UNITTESTS" = xauto; then
+ PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.16], [UNITTESTS=yes], [UNITTESTS=no])
+fi
if test "x$UNITTESTS" = xyes; then
AC_DEFINE(UNITTESTS, 1, [Enable unit tests])
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.16])
commit 749cae82204f347248c815b1068ffcae9825fe70
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Thu Apr 30 14:58:00 2009 +1000
mi: don't crash if we're trying to update the pointer for a keyboard.
If a device doesn't have a pointer, just return.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/mi/mipointer.c b/mi/mipointer.c
index 3d34481..1c61b57 100644
--- a/mi/mipointer.c
+++ b/mi/mipointer.c
@@ -367,6 +367,9 @@ miPointerUpdateSprite (DeviceIntPtr pDev)
pPointer = MIPOINTER(pDev);
+ if (!pPointer)
+ return;
+
pScreen = pPointer->pScreen;
if (!pScreen)
return;
commit 7ecedb0f2ee5b53513205d1f0aa381451893b9c5
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Fri May 1 14:35:12 2009 +1000
include: up the number of max. input devices to 40.
With the Xtest virtual slave devices we have 4 devices for each MD
pointer/keyboard pair, plus the AllDevices and AllMasterDevices reserved
deviceids. It's quite easy to hit the current limit.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/include/misc.h b/include/misc.h
index 6a920cc..61dd947 100644
--- a/include/misc.h
+++ b/include/misc.h
@@ -86,7 +86,7 @@ OF THIS SOFTWARE.
#define MAXCLIENTS 256
#define MAXEXTENSIONS 128
#define MAXFORMATS 8
-#define MAXDEVICES 20 /* input devices */
+#define MAXDEVICES 40 /* input devices */
#define EXTENSION_EVENT_BASE 64
#define EXTENSION_BASE 128
commit a38d33f6ac765bc5a3296b325e2c9b4a6a10ebf1
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Fri May 1 15:24:02 2009 +1000
Xext: shut up compiler warnings in xtest.c
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/Xext/xtest.c b/Xext/xtest.c
index cb32c28..96380b7 100644
--- a/Xext/xtest.c
+++ b/Xext/xtest.c
@@ -50,6 +50,7 @@
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
#include "exglobals.h"
+#include "mipointer.h"
#include "modinit.h"
@@ -162,7 +163,6 @@ ProcXTestFakeInput(ClientPtr client)
int i;
int base = 0;
int flags = 0;
- DeviceIntPtr xtstdevice;
nev = (stuff->length << 2) - sizeof(xReq);
if ((nev % sizeof(xEvent)) || !nev)
@@ -415,7 +415,7 @@ ProcXTestFakeInput(ClientPtr client)
}
for (i = 0; i < nevents; i++)
- mieqProcessDeviceEvent(dev, (events+i)->event, NULL);
+ mieqProcessDeviceEvent(dev, (InternalEvent*)(events+i)->event, NULL);
miPointerUpdateSprite(dev);
return client->noClientException;
commit 14d5471981151b27678de826daa078977217477a
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Fri May 1 15:22:37 2009 +1000
Xext: return BadDevice from XTest if we don't have keys/buttons/valuators.
BadDevice is an XI error, but this cannot happen for core XTest fake input
anyway since the device will be the matching virtual XTest slave device.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/Xext/xtest.c b/Xext/xtest.c
index 8aca6a0..cb32c28 100644
--- a/Xext/xtest.c
+++ b/Xext/xtest.c
@@ -49,6 +49,7 @@
#include <X11/extensions/xteststr.h>
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
+#include "exglobals.h"
#include "modinit.h"
@@ -342,6 +343,9 @@ ProcXTestFakeInput(ClientPtr client)
{
case KeyPress:
case KeyRelease:
+ if (!dev->key)
+ return BadDevice;
+
if (ev->u.u.detail < dev->key->xkbInfo->desc->min_key_code ||
ev->u.u.detail > dev->key->xkbInfo->desc->max_key_code)
{
@@ -350,6 +354,9 @@ ProcXTestFakeInput(ClientPtr client)
}
break;
case MotionNotify:
+ if (!dev->valuator)
+ return BadDevice;
+
/* broken lib, XI events have root uninitialized */
if (extension || ev->u.keyButtonPointer.root == None)
root = GetCurrentRootWindow(dev);
@@ -376,6 +383,9 @@ ProcXTestFakeInput(ClientPtr client)
break;
case ButtonPress:
case ButtonRelease:
+ if (!dev->button)
+ return BadDevice;
+
if (!ev->u.u.detail || ev->u.u.detail > dev->button->numButtons)
{
client->errorValue = ev->u.u.detail;
commit f1bed0959e803784af142a0f45177ee3b675d78a
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Fri May 1 15:15:04 2009 +1000
Xext: fix core Xtest button presses, don't call PickPointer.
We already did the device selection before, so dev should be the XTest virtual
pointer.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/Xext/xtest.c b/Xext/xtest.c
index d21eedc..8aca6a0 100644
--- a/Xext/xtest.c
+++ b/Xext/xtest.c
@@ -376,12 +376,6 @@ ProcXTestFakeInput(ClientPtr client)
break;
case ButtonPress:
case ButtonRelease:
- if (!extension)
- {
- dev = PickPointer(client);
- if (dev->u.lastSlave)
- dev = dev->u.lastSlave;
- }
if (!ev->u.u.detail || ev->u.u.detail > dev->button->numButtons)
{
client->errorValue = ev->u.u.detail;
More information about the xorg-commit
mailing list