[PATCH xserver 1/3] Xi: handle new XIAllowEvents request in inputproto 2.1.99.6

Peter Hutterer peter.hutterer at who-t.net
Thu Jan 26 21:50:45 PST 2012


grab_window was dropped completely, touchid was removed from the struct for
ABI compatibility reasons, we need to pull that in manually now.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 Xi/xiallowev.c |    9 ++++-----
 configure.ac   |    2 +-
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/Xi/xiallowev.c b/Xi/xiallowev.c
index a4b2f57..5d3116d 100644
--- a/Xi/xiallowev.c
+++ b/Xi/xiallowev.c
@@ -52,7 +52,6 @@ SProcXIAllowEvents(ClientPtr client)
     swaps(&stuff->deviceid);
     swapl(&stuff->time);
     /* FIXME swap touchid */
-    /* FIXME swap window */
 
     return ProcXIAllowEvents(client);
 }
@@ -73,8 +72,6 @@ AllowTouch(ClientPtr client, DeviceIntPtr dev, int mode, uint32_t touchid, XID *
         return BadDevice;
     }
 
-    /* FIXME window is unhandled */
-
     ti = TouchFindByClientID(dev, touchid);
     if (!ti)
     {
@@ -104,9 +101,10 @@ ProcXIAllowEvents(ClientPtr client)
     TimeStamp time;
     DeviceIntPtr dev;
     int ret = Success;
+    uint32_t touchid;
 
     REQUEST(xXIAllowEventsReq);
-    /* FIXME: check request length, 12 for XI 2.0+, 20 for XI 2.2+ */
+    /* FIXME: check request length, 12 for XI 2.0+, 16 for XI 2.2+ */
 
     ret = dixLookupDevice(&dev, stuff->deviceid, client, DixGetAttrAccess);
     if (ret != Success)
@@ -138,8 +136,9 @@ ProcXIAllowEvents(ClientPtr client)
 	break;
     case XIRejectTouch:
     case XIAcceptTouch:
+        touchid = *(uint32_t*)&stuff[1];
         ret = AllowTouch(client, dev,
-                         stuff->mode, stuff->touchid,
+                         stuff->mode, touchid,
                          &client->errorValue);
         break;
     default:
diff --git a/configure.ac b/configure.ac
index b0bb9bb..27ba7d2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -776,7 +776,7 @@ XPROTO="xproto >= 7.0.22"
 RANDRPROTO="randrproto >= 1.2.99.3"
 RENDERPROTO="renderproto >= 0.11"
 XEXTPROTO="xextproto >= 7.1.99"
-INPUTPROTO="inputproto >= 2.1.99.5"
+INPUTPROTO="inputproto >= 2.1.99.6"
 KBPROTO="kbproto >= 1.0.3"
 FONTSPROTO="fontsproto"
 FIXESPROTO="fixesproto >= 5.0"
-- 
1.7.7.5



More information about the xorg-devel mailing list