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