[PATCH multitouch] dix: remove requirement for client_id be the first element

Peter Hutterer peter.hutterer at who-t.net
Tue Dec 20 17:16:21 PST 2011


Leftover code from an earlier version of GetTouchEvents.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
As mentioned in another email. This is just cleanup without a functional
change. The client_id as first element was a requirement in earlier versions
and got virtually removed except for the client_id part. That's easily
removed too now.

 dix/getevents.c    |    7 +++++--
 include/inputstr.h |    2 --
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/dix/getevents.c b/dix/getevents.c
index b60ddc0..3b40a5b 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -1738,6 +1738,7 @@ GetTouchEvents(InternalEvent *events, DeviceIntPtr dev, uint32_t ddx_touchid,
     } touchpoint;
     int need_rawevent = TRUE;
     Bool emulate_pointer = FALSE;
+    int client_id = 0;
 
     if (!dev->enabled || !t || !v)
         return 0;
@@ -1761,6 +1762,7 @@ GetTouchEvents(InternalEvent *events, DeviceIntPtr dev, uint32_t ddx_touchid,
         }
 
         need_rawevent = FALSE;
+        client_id = touchpoint.dix_ti->client_id;
     } else /* a DDX-submitted touch */
     {
         touchpoint.ti = TouchFindByDDXID(dev, ddx_touchid, (type == XI_TouchBegin));
@@ -1770,6 +1772,7 @@ GetTouchEvents(InternalEvent *events, DeviceIntPtr dev, uint32_t ddx_touchid,
                     type == XI_TouchBegin ? "begin" : "find", ddx_touchid);
             return 0;
         }
+        client_id = touchpoint.ti->client_id;
     }
 
     if (!(flags & TOUCH_CLIENT_ID))
@@ -1787,7 +1790,7 @@ GetTouchEvents(InternalEvent *events, DeviceIntPtr dev, uint32_t ddx_touchid,
         raw = &events->raw_event;
         events++;
         num_events++;
-        init_raw(dev, raw, ms, type, touchpoint.ti->client_id);
+        init_raw(dev, raw, ms, type, client_id);
         set_raw_valuators(raw, &mask, raw->valuators.data_raw);
     }
 
@@ -1877,7 +1880,7 @@ GetTouchEvents(InternalEvent *events, DeviceIntPtr dev, uint32_t ddx_touchid,
     event->root = scr->root->drawable.id;
 
     event_set_root_coordinates(event, screenx, screeny);
-    event->touchid = touchpoint.ti->client_id;
+    event->touchid = client_id;
     event->flags = flags;
 
     if (emulate_pointer)
diff --git a/include/inputstr.h b/include/inputstr.h
index 9881c7e..518e2f4 100644
--- a/include/inputstr.h
+++ b/include/inputstr.h
@@ -301,7 +301,6 @@ typedef struct _ValuatorClassRec {
 } ValuatorClassRec;
 
 typedef struct _TouchPointInfo {
-    /* client_id must be first element, see GetTouchEvents */
     uint32_t    client_id;          /* touch ID as seen in client events */
     int         sourceid;           /* Source device's ID for this touchpoint */
     Bool        active;             /* whether or not the touch is active */
@@ -328,7 +327,6 @@ typedef struct _TouchPointInfo {
 typedef struct _TouchListener TouchListener;
 
 typedef struct _DDXTouchPointInfo {
-    /* client_id must be first element, see GetTouchEvents */
     uint32_t    client_id;          /* touch ID as seen in client events */
     Bool        active;             /* whether or not the touch is active */
     uint32_t    ddx_id;             /* touch ID given by the DDX */
-- 
1.7.7.4



More information about the xorg-devel mailing list