summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2012-02-08 03:17:28 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2012-02-09 08:02:59 +1000
commit5e18f74e24a17d6a1f18339600a00f5591dc6a82 (patch)
tree5b3ab76894b564a878cbecb36d10bdf01fa13fec
parent217afacda01b082f39fb6816e62ec20e4791857f (diff)
downloadxorg-proto-inputproto-5e18f74e24a17d6a1f18339600a00f5591dc6a82.tar.gz
Unbreak protocol ABI for XIAllowEvents - inputproto 2.1.99.6inputproto-2.1.99.6
XIAllowEvents was extended with touchid and grab_window in 2ea2f99f4fe1dcd3b8e539ca41c482fc40a0533d. This extended the size of the request from 12 to 20 but also broke the ABI. Older server match the request size exactly, so compiling libXi 1.5 against inputproto 2.2 and then running it against a pre-XI 2.2 server causes a BadLength for any XIAllowEvent request. Add a new request for the new data. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com>
-rw-r--r--XI2proto.h19
-rw-r--r--configure.ac2
2 files changed, 18 insertions, 3 deletions
diff --git a/XI2proto.h b/XI2proto.h
index 93d7e32..733f923 100644
--- a/XI2proto.h
+++ b/XI2proto.h
@@ -647,10 +647,25 @@ typedef struct {
uint16_t deviceid;
uint8_t mode;
uint8_t pad;
+} xXIAllowEventsReq;
+#define sz_xXIAllowEventsReq 12
+
+/**
+ * Allow or replay events on the specified grabbed device.
+ * Since XI 2.2
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIAllowEvents */
+ uint16_t length; /**< Length in 4 byte units */
+ Time time;
+ uint16_t deviceid;
+ uint8_t mode;
+ uint8_t pad;
uint32_t touchid; /**< Since XI 2.2 */
Window grab_window; /**< Since XI 2.2 */
-} xXIAllowEventsReq;
-#define sz_xXIAllowEventsReq 20 /**< Was 12 before XI 2.2 */
+} xXI2_2AllowEventsReq;
+#define sz_xXI2_2AllowEventsReq 20
/**
diff --git a/configure.ac b/configure.ac
index abd8355..028538b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.60])
-AC_INIT([InputProto], [2.1.99.5], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([InputProto], [2.1.99.6], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE