[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libxi: Changes to 'upstream-experimental'



 configure.ac                    |   11 ++++-------
 include/X11/extensions/XInput.h |    5 +++++
 man/Makefile.am                 |    2 +-
 man/XQueryDeviceState.txt       |    6 +++---
 src/XExtInt.c                   |   14 +++++++++-----
 src/XIGrabDevice.c              |    4 ++--
 src/XQueryDv.c                  |    3 ++-
 7 files changed, 26 insertions(+), 19 deletions(-)

New commits:
commit 63621888d6e36a2f9e41e81c14728d70beeff5ee
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 2 12:09:17 2009 +1000

    libXi 1.3
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/configure.ac b/configure.ac
index f1d8818..377dfe0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to create configure.
 
 AC_PREREQ([2.57])
 
-AC_INIT(libXi, 1.2.99.4, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libXi)
+AC_INIT(libXi, 1.3, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libXi)
 AM_INIT_AUTOMAKE([dist-bzip2 foreign])
 AM_MAINTAINER_MODE
 

commit 9dc825a3dede81d2425770662daefe7e19644d6d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 2 12:08:30 2009 +1000

    Require macros 1.3 for XORG_DEFAULT_OPTIONS
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/configure.ac b/configure.ac
index 2470d34..f1d8818 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,15 +7,15 @@ AM_INIT_AUTOMAKE([dist-bzip2 foreign])
 AM_MAINTAINER_MODE
 
 # Require xorg-macros: XORG_CWARNFLAGS, XORG_CHANGELOG
-m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])])
-XORG_MACROS_VERSION(1.2)
+m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
 AM_CONFIG_HEADER(src/config.h)
 
 # Check for progs
 AC_PROG_CC
 AC_PROG_LIBTOOL
 AC_PROG_SED
-XORG_CWARNFLAGS
+XORG_DEFAULT_OPTIONS
 
 # Checks for pkg-config packages
 PKG_CHECK_MODULES(XI, [xproto >= 7.0.13] [x11 >= 1.2.99.1] [xextproto >= 7.0.3] [xext >= 1.0.99.1] [inputproto >= 1.9.99.902])
@@ -35,9 +35,6 @@ if test "x$XMLTO" = "x" || test "x$ASCIIDOC" = "x"; then
 fi
 
 XORG_CHECK_MALLOC_ZERO
-XORG_MANPAGE_SECTIONS
-XORG_RELEASE_VERSION
-XORG_CHANGELOG
 
 AC_OUTPUT([Makefile
 	   src/Makefile

commit 3530845c70b0d7f9f853b29337c9397a3a599e52
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue Sep 29 14:15:06 2009 +0200

    Don't export sizeDeviceClassType, size_classes and copy_classes
    
    Signed-off-by: Julien Cristau <jcristau@debian.org>

diff --git a/src/XExtInt.c b/src/XExtInt.c
index 7f7e9cc..e87ead8 100644
--- a/src/XExtInt.c
+++ b/src/XExtInt.c
@@ -102,8 +102,6 @@ extern int _XiGetDevicePresenceNotifyEvent(
 
 int copy_classes(XIDeviceInfo *to, xXIAnyInfo* from, int nclasses);
 int size_classes(xXIAnyInfo* from, int nclasses);
-int sizeDeviceClassType(int type, int num_elements);
-
 
 static XExtensionInfo *xinput_info;
 static /* const */ char *xinput_extension_name = INAME;
@@ -961,7 +959,7 @@ sizeDeviceEvent(int buttons_len, int valuators_len,
  *
  * Also used from copy_classes in XIQueryDevice.c
  */
-int
+static int
 sizeDeviceClassType(int type, int num_elements)
 {
     int l = 0;
@@ -1342,7 +1340,7 @@ wireToDeviceEvent(xXIDeviceEvent *in, XGenericEventCookie* cookie)
     return 1;
 }
 
-int
+_X_HIDDEN int
 size_classes(xXIAnyInfo* from, int nclasses)
 {
     int len, i;
@@ -1383,7 +1381,7 @@ size_classes(xXIAnyInfo* from, int nclasses)
  *    |________|___________^
  *             |______________________^
  */
-int
+_X_HIDDEN int
 copy_classes(XIDeviceInfo* to, xXIAnyInfo* from, int nclasses)
 {
     XIAnyClassInfo *any_lib;

commit 801d77d035a10250dab728c046a6e9b2775e6dfb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Sep 24 14:14:48 2009 +1000

    XQueryDeviceState: correct length of XValuatorState
    
    The length is suppposed to be the complete class size, not just the struct
    size. Since XValuatorState is followed by multiple valuator values the
    size of the class is variable and dependent on the number of valuators.
    
    The server assembles the valuator state last. This bug is unlikely to affect
    clients as they should never go past the last class anyway.
    
    Tested-by: Thomas Jaeger
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/XQueryDv.c b/src/XQueryDv.c
index 5996734..d9495c2 100644
--- a/src/XQueryDv.c
+++ b/src/XQueryDv.c
@@ -160,7 +160,8 @@ XQueryDeviceState(
 		CARD32 *valuators = (CARD32 *) (v + 1);
 
 		V->class = v->class;
-		V->length = sizeof(XValuatorState);
+		V->length = sizeof(XValuatorState) +
+			    v->num_valuators * sizeof(int);
 		V->num_valuators = v->num_valuators;
 		V->mode = v->mode;
 		Any = (XInputClass *) (V + 1);

commit bff36ef5797d7da11972ee22ea224e207af77455
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Sep 24 13:10:26 2009 +1000

    man: correct XQueryDeviceState return value.
    
    And one indentation fix in the same man page.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/man/XQueryDeviceState.txt b/man/XQueryDeviceState.txt
index cd9f982..41cdd2c 100644
--- a/man/XQueryDeviceState.txt
+++ b/man/XQueryDeviceState.txt
@@ -12,8 +12,8 @@ SYNOPSIS
 
    #include <X11/extensions/XInput.h>
 
-   int XQueryDeviceState( Display *display,
-                          XDevice *device);
+   XDeviceState* XQueryDeviceState( Display *display,
+                                    XDevice *device);
    
    display
           Specifies the connection to the X server.
@@ -34,7 +34,7 @@ DESCRIPTION
 
    XQueryDeviceState can generate a BadDevice error.
 
-Structures
+   Structures:
 
    The XDeviceState structure contains:
 

commit 9c5ba6ff3fcff30507f285f2e67afbdb296a2318
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Sep 14 16:34:18 2009 +1000

    Declare _xibad* functions before the Bad* macros.
    
    Reported-by: Christian Beier
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/include/X11/extensions/XInput.h b/include/X11/extensions/XInput.h
index 561465c..b17f388 100644
--- a/include/X11/extensions/XInput.h
+++ b/include/X11/extensions/XInput.h
@@ -159,6 +159,11 @@ SOFTWARE.
 extern "C" {
 #endif
     extern int _XiGetDevicePresenceNotifyEvent(Display *);
+    extern void _xibaddevice( Display *dpy, int *error);
+    extern void _xibadclass( Display *dpy, int *error);
+    extern void _xibadevent( Display *dpy, int *error);
+    extern void _xibadmode( Display *dpy, int *error);
+    extern void _xidevicebusy( Display *dpy, int *error);
 #if defined(__cplusplus) || defined(c_plusplus)
 }
 #endif

commit 369600cf37cd884793c4802a56c8355bc1812dc6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Sep 7 12:22:06 2009 +1000

    mask_len in XIGrabDevice is in 4-byte units (#23708)
    
    X.Org Bug 23708 <http://bugs.freedesktop.org/show_bug.cgi?id=23708>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/XIGrabDevice.c b/src/XIGrabDevice.c
index 66e359b..985d3f1 100644
--- a/src/XIGrabDevice.c
+++ b/src/XIGrabDevice.c
@@ -55,13 +55,13 @@ XIGrabDevice(Display* dpy, int deviceid, Window grab_window, Time time,
     req->grab_mode = grab_mode;
     req->paired_device_mode = paired_device_mode;
     req->owner_events = owner_events;
-    req->mask_len = mask->mask_len;
+    req->mask_len = (mask->mask_len + 3)/4;
     req->cursor = cursor;
 
 
     /* masks.mask_len is in bytes, but we need 4-byte units on the wire,
      * and they need to be padded with 0 */
-    len = (mask->mask_len + 3) / 4;
+    len = req->mask_len * 4;
     buff = calloc(1, len);
     memcpy(buff, mask->mask, mask->mask_len);
 

commit fa09375a69a02cd789c70d60970a669700eaeb20
Author: Arkadiusz Miśkiewicz <arekm@maven.pl>
Date:   Sat Sep 5 20:39:47 2009 +0200

    libXi: Man page files end with LIB_MAN_SUFFIX not LIB_MAN_DIR_SUFFIX.
    
    Using LIB_MAN_DIR_SUFFIX as man page files suffix is invalid since
    there can be files ending with eg. 5x while being in man5 dir
    (share/man/man5/man.5x) as required by FHS 2.3.
    
    Man page files and with LI
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/man/Makefile.am b/man/Makefile.am
index 1501fd6..221b677 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -115,7 +115,7 @@ libman_ref = \
 libman_pre = $(libman_txt:.txt=.man) $(libman_ref)
 
 if HAVE_DOCTOOLS
-nodist_libman_DATA = $(libman_pre:.man=.$(LIB_MAN_DIR_SUFFIX))
+nodist_libman_DATA = $(libman_pre:.man=.$(LIB_MAN_SUFFIX))
 endif
 
 EXTRA_DIST = $(libman_txt) $(libman_pre)

commit 693d9a43f16d4ffd085099b532a10467aa095c17
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Sep 1 16:42:38 2009 +1000

    Initialize send_event for cookie events. (#23609)
    
    X.Org Bug 23609 <http://bugs.freedesktop.org/show_bug.cgi?id=23609>

diff --git a/src/XExtInt.c b/src/XExtInt.c
index 26cc6e4..7f7e9cc 100644
--- a/src/XExtInt.c
+++ b/src/XExtInt.c
@@ -1292,6 +1292,7 @@ wireToDeviceEvent(xXIDeviceEvent *in, XGenericEventCookie* cookie)
     out->type = in->type;
     out->extension = in->extension;
     out->evtype = in->evtype;
+    out->send_event = ((in->type & 0x80) != 0);
     out->time = in->time;
     out->deviceid = in->deviceid;
     out->sourceid = in->sourceid;
@@ -1489,6 +1490,7 @@ wireToDeviceChangedEvent(xXIDeviceChangedEvent *in, XGenericEventCookie *cookie)
     out->type = in->type;
     out->extension = in->extension;
     out->evtype = in->evtype;
+    out->send_event = ((in->type & 0x80) != 0);
     out->time = in->time;
     out->deviceid = in->deviceid;
     out->sourceid = in->sourceid;
@@ -1518,6 +1520,7 @@ wireToHierarchyChangedEvent(xXIHierarchyEvent *in, XGenericEventCookie *cookie)
     out->type           = in->type;
     out->extension      = in->extension;
     out->evtype         = in->evtype;
+    out->send_event = ((in->type & 0x80) != 0);
     out->time           = in->time;
     out->flags          = in->flags;
     out->num_info       = in->num_info;
@@ -1558,6 +1561,7 @@ wireToRawEvent(xXIRawEvent *in, XGenericEventCookie *cookie)
     out->type           = in->type;
     out->extension      = in->extension;
     out->evtype         = in->evtype;
+    out->send_event = ((in->type & 0x80) != 0);
     out->time           = in->time;
     out->detail         = in->detail;
     out->deviceid       = in->deviceid;
@@ -1600,6 +1604,7 @@ wireToEnterLeave(xXIEnterEvent *in, XGenericEventCookie *cookie)
     out->type           = in->type;
     out->extension      = in->extension;
     out->evtype         = in->evtype;
+    out->send_event = ((in->type & 0x80) != 0);
     out->time           = in->time;
     out->detail         = in->detail;
     out->deviceid       = in->deviceid;
@@ -1640,6 +1645,7 @@ wireToPropertyEvent(xXIPropertyEvent *in, XGenericEventCookie *cookie)
     out->type           = in->type;
     out->extension      = in->extension;
     out->evtype         = in->evtype;
+    out->send_event = ((in->type & 0x80) != 0);
     out->time           = in->time;
     out->property       = in->property;
     out->what           = in->what;


Reply to: