libxi: Changes to 'debian-experimental'
ChangeLog | 52 ++++++++++++++++++++++++++++++++++++++++++
configure.ac | 6 ++--
debian/changelog | 7 +++++
debian/control | 4 +--
man/XSelectExtensionEvent.txt | 2 -
src/XIAllowEvents.c | 23 +++++++++++-------
src/XListDev.c | 27 +++++++++++++++------
7 files changed, 98 insertions(+), 23 deletions(-)
New commits:
commit 2ea47a51df473ee553d4b1470d24df0c1ecccfcb
Author: Chase Douglas <chase.douglas@canonical.com>
Date: Fri Feb 10 22:50:44 2012 +0100
Bump build deps on x11proto-input-dev
diff --git a/debian/changelog b/debian/changelog
index 4bc4419..91085fc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,9 @@
libxi (2:1.5.99.3-1) UNRELEASED; urgency=low
* New upstream release candidate
+ * Bump build deps on x11proto-input-dev
- -- Chase Douglas <chase.douglas@ubuntu.com> Fri, 10 Feb 2012 22:47:39 +0100
+ -- Chase Douglas <chase.douglas@ubuntu.com> Fri, 10 Feb 2012 22:49:23 +0100
libxi (2:1.5.99.2-1) experimental; urgency=low
diff --git a/debian/control b/debian/control
index 0af18dc..b7ff2cd 100644
--- a/debian/control
+++ b/debian/control
@@ -7,7 +7,7 @@ Build-Depends:
debhelper (>= 8.1.3),
x11proto-core-dev (>= 7.0.13),
x11proto-xext-dev (>= 7.0.3),
- x11proto-input-dev (>= 2.1.99.3),
+ x11proto-input-dev (>= 2.1.99.6),
libx11-dev (>= 2:1.4.99.1),
libxext-dev (>= 2:1.1.1-3),
xmlto,
@@ -86,7 +86,7 @@ Depends:
libxi6 (= ${binary:Version}),
libx11-dev,
libxext-dev,
- x11proto-input-dev (>= 1.9.99.902),
+ x11proto-input-dev (>= 2.1.99.6),
xorg-sgml-doctools (>= 1:1.5),
Replaces:
x11proto-input-dev (<< 1.9.99)
commit ac0f495a3bb7c0690a1955dbd4da52253678741b
Author: Chase Douglas <chase.douglas@canonical.com>
Date: Fri Feb 10 22:48:20 2012 +0100
Bump changelogs.
diff --git a/ChangeLog b/ChangeLog
index 08ddaec..d05afbf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,55 @@
+commit 34964b05c16161de65709d60799b9ad97ce56296
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Jan 27 15:35:44 2012 +1000
+
+ libXi 1.5.99.3
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit b355b7300235395717de06809ee6631ce55d3189
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Jan 27 13:28:52 2012 +1000
+
+ Handle new XIAllowEvent request size
+
+ inputproto 2.1.99.6 restored the previous request for ABI compatibility
+ reasons, and it introduced a new XI 2.2 specific define.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+
+commit 07ced7b48219e3bc0c98806f3d7106f86d1b2ca0
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Jan 17 21:26:14 2012 +0100
+
+ Force class alignment to a multiple of sizeof(XID).
+
+ Calculate length field to a multiples of sizeof(XID). XIDs are typedefs
+ to ulong and thus may be 8 bytes on some platforms. This can trigger a
+ SIGBUS if a class ends up not being 8-aligned (e.g. after XAxisInfo).
+
+ Reported-by: Nicolai Stange <nicolai.stange@zmaw.de>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>
+
+commit 15feb92b30e13e7439a3434bea9f454645b97444
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Jan 5 13:55:41 2012 +1000
+
+ man: fix typo Mappiing → Mapping
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 8576ae6b9ee974829e2fb8a834087652a6e9e1a2
+Author: Cyril Brulebois <kibi@debian.org>
+Date: Thu Dec 22 15:50:47 2011 +0100
+
+ configure.ac: Fix a typo in comments.
+
+ Signed-off-by: Cyril Brulebois <kibi@debian.org>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
commit ae0187c8708d2378373889827117911086581fdd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Dec 22 09:42:43 2011 +1000
diff --git a/debian/changelog b/debian/changelog
index a96f186..4bc4419 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+libxi (2:1.5.99.3-1) UNRELEASED; urgency=low
+
+ * New upstream release candidate
+
+ -- Chase Douglas <chase.douglas@ubuntu.com> Fri, 10 Feb 2012 22:47:39 +0100
+
libxi (2:1.5.99.2-1) experimental; urgency=low
* New upstream release candidate:
commit 34964b05c16161de65709d60799b9ad97ce56296
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Jan 27 15:35:44 2012 +1000
libXi 1.5.99.3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/configure.ac b/configure.ac
index 46f2fb8..77341da 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
-AC_INIT([libXi], [1.5.99.2],
+AC_INIT([libXi], [1.5.99.3],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXi])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([src/config.h])
commit b355b7300235395717de06809ee6631ce55d3189
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Jan 27 13:28:52 2012 +1000
Handle new XIAllowEvent request size
inputproto 2.1.99.6 restored the previous request for ABI compatibility
reasons, and it introduced a new XI 2.2 specific define.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
diff --git a/configure.ac b/configure.ac
index 481cf44..46f2fb8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,7 +28,7 @@ XORG_WITH_ASCIIDOC(8.4.5)
XORG_CHECK_MALLOC_ZERO
# Obtain compiler/linker options for dependencies
-PKG_CHECK_MODULES(XI, [xproto >= 7.0.13] [x11 >= 1.4.99.1] [xextproto >= 7.0.3] [xext >= 1.0.99.1] [inputproto >= 2.1.99.3])
+PKG_CHECK_MODULES(XI, [xproto >= 7.0.13] [x11 >= 1.4.99.1] [xextproto >= 7.0.3] [xext >= 1.0.99.1] [inputproto >= 2.1.99.6])
# Check for xmlto and asciidoc for man page conversion
# (only needed by people building tarballs)
diff --git a/src/XIAllowEvents.c b/src/XIAllowEvents.c
index d987549..c8d997a 100644
--- a/src/XIAllowEvents.c
+++ b/src/XIAllowEvents.c
@@ -33,13 +33,16 @@
#include <X11/extensions/extutil.h>
#include "XIint.h"
+/* for GetRequest() to work */
+#define X_XI2_2AllowEvents X_XIAllowEvents
+
static Status
_XIAllowEvents(Display *dpy, int deviceid, int event_mode, Time time,
unsigned int touchid, Window grab_window)
{
Bool have_XI22 = True;
- int req_len = sz_xXIAllowEventsReq; /* in bytes */
xXIAllowEventsReq *req;
+ xXI2_2AllowEventsReq *req_XI22;
XExtDisplayInfo *extinfo = XInput_find_display(dpy);
@@ -47,13 +50,15 @@ _XIAllowEvents(Display *dpy, int deviceid, int event_mode, Time time,
if (_XiCheckExtInit(dpy, XInput_2_0, extinfo) == -1)
return (NoSuchExtension);
- /* 2.2's XIAllowEvents is 8 bytes longer than 2.0 */
- if (_XiCheckExtInit(dpy, XInput_2_2, extinfo) == -1) {
- req_len -= 8;
- have_XI22 = False;
- }
+ if (_XiCheckExtInit(dpy, XInput_2_2, extinfo) == 0)
+ have_XI22 = True;
- GetReqSized(XIAllowEvents, req_len, req);
+ if (have_XI22)
+ {
+ GetReq(XI2_2AllowEvents, req_XI22);
+ req = (xXIAllowEventsReq*)req_XI22;
+ } else
+ GetReq(XIAllowEvents, req);
req->reqType = extinfo->codes->major_opcode;
req->ReqType = X_XIAllowEvents;
@@ -62,8 +67,8 @@ _XIAllowEvents(Display *dpy, int deviceid, int event_mode, Time time,
req->time = time;
if (have_XI22) {
- req->touchid = touchid;
- req->grab_window = grab_window;
+ req_XI22->touchid = touchid;
+ req_XI22->grab_window = grab_window;
}
UnlockDisplay(dpy);
commit 07ced7b48219e3bc0c98806f3d7106f86d1b2ca0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Jan 17 21:26:14 2012 +0100
Force class alignment to a multiple of sizeof(XID).
Calculate length field to a multiples of sizeof(XID). XIDs are typedefs
to ulong and thus may be 8 bytes on some platforms. This can trigger a
SIGBUS if a class ends up not being 8-aligned (e.g. after XAxisInfo).
Reported-by: Nicolai Stange <nicolai.stange@zmaw.de>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>
diff --git a/src/XListDev.c b/src/XListDev.c
index 6a16da4..6b91238 100644
--- a/src/XListDev.c
+++ b/src/XListDev.c
@@ -61,6 +61,17 @@ SOFTWARE.
#include <X11/extensions/extutil.h>
#include "XIint.h"
+/* Calculate length field to a multiples of sizeof(XID). XIDs are typedefs
+ * to ulong and thus may be 8 bytes on some platforms. This can trigger a
+ * SIGBUS if a class ends up not being 8-aligned (e.g. after XAxisInfo).
+ */
+static int pad_to_xid(int base_size)
+{
+ int padsize = sizeof(XID);
+
+ return ((base_size + padsize - 1)/padsize) * padsize;
+}
+
static int
SizeClassInfo(xAnyClassPtr *any, int num_classes)
{
@@ -69,18 +80,18 @@ SizeClassInfo(xAnyClassPtr *any, int num_classes)
for (j = 0; j < num_classes; j++) {
switch ((*any)->class) {
case KeyClass:
- size += sizeof(XKeyInfo);
+ size += pad_to_xid(sizeof(XKeyInfo));
break;
case ButtonClass:
- size += sizeof(XButtonInfo);
+ size += pad_to_xid(sizeof(XButtonInfo));
break;
case ValuatorClass:
{
xValuatorInfoPtr v;
v = (xValuatorInfoPtr) *any;
- size += sizeof(XValuatorInfo) +
- (v->num_axes * sizeof(XAxisInfo));
+ size += pad_to_xid(sizeof(XValuatorInfo) +
+ (v->num_axes * sizeof(XAxisInfo)));
break;
}
default:
@@ -105,7 +116,7 @@ ParseClassInfo(xAnyClassPtr *any, XAnyClassPtr *Any, int num_classes)
xKeyInfoPtr k = (xKeyInfoPtr) *any;
K->class = KeyClass;
- K->length = sizeof(XKeyInfo);
+ K->length = pad_to_xid(sizeof(XKeyInfo));
K->min_keycode = k->min_keycode;
K->max_keycode = k->max_keycode;
K->num_keys = k->num_keys;
@@ -117,7 +128,7 @@ ParseClassInfo(xAnyClassPtr *any, XAnyClassPtr *Any, int num_classes)
xButtonInfoPtr b = (xButtonInfoPtr) *any;
B->class = ButtonClass;
- B->length = sizeof(XButtonInfo);
+ B->length = pad_to_xid(sizeof(XButtonInfo));
B->num_buttons = b->num_buttons;
break;
}
@@ -129,8 +140,8 @@ ParseClassInfo(xAnyClassPtr *any, XAnyClassPtr *Any, int num_classes)
xAxisInfoPtr a;
V->class = ValuatorClass;
- V->length = sizeof(XValuatorInfo) +
- (v->num_axes * sizeof(XAxisInfo));
+ V->length = pad_to_xid(sizeof(XValuatorInfo) +
+ (v->num_axes * sizeof(XAxisInfo)));
V->num_axes = v->num_axes;
V->motion_buffer = v->motion_buffer_size;
V->mode = v->mode;
commit 15feb92b30e13e7439a3434bea9f454645b97444
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Jan 5 13:55:41 2012 +1000
man: fix typo Mappiing → Mapping
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/man/XSelectExtensionEvent.txt b/man/XSelectExtensionEvent.txt
index cbcfffe..95e0ac7 100644
--- a/man/XSelectExtensionEvent.txt
+++ b/man/XSelectExtensionEvent.txt
@@ -86,7 +86,7 @@ DESCRIPTION
defined macros include DeviceKeyPress, DeviceKeyRelease,
DeviceButtonPress, DeviceButtonRelese, DeviceMotionNotify,
DeviceFocusIn, DeviceFocusOut, ProximityIn, ProximityOut,
- DeviceStateNotify, DeviceMappiingNotify, ChangeDeviceNotify,
+ DeviceStateNotify, DeviceMappingNotify, ChangeDeviceNotify,
DevicePointerMotionHint, DeviceButton1Motion,
DeviceButton2Motion, DeviceButton3Motion, DeviceButton4Motion,
DeviceButton5Motion, DeviceButtonMotion, DeviceOwnerGrabButton,
commit 8576ae6b9ee974829e2fb8a834087652a6e9e1a2
Author: Cyril Brulebois <kibi@debian.org>
Date: Thu Dec 22 15:50:47 2011 +0100
configure.ac: Fix a typo in comments.
Signed-off-by: Cyril Brulebois <kibi@debian.org>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/configure.ac b/configure.ac
index 79ba97e..481cf44 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,7 +27,7 @@ XORG_CHECK_SGML_DOCTOOLS(1.8)
XORG_WITH_ASCIIDOC(8.4.5)
XORG_CHECK_MALLOC_ZERO
-# Obtain compiler/linker options for depedencies
+# Obtain compiler/linker options for dependencies
PKG_CHECK_MODULES(XI, [xproto >= 7.0.13] [x11 >= 1.4.99.1] [xextproto >= 7.0.3] [xext >= 1.0.99.1] [inputproto >= 2.1.99.3])
# Check for xmlto and asciidoc for man page conversion
Reply to: