xinput: ChangeDeviceProperty-request: add align-pad at end
authorChristian Linhart <chris@demorecorder.com>
Fri, 15 Aug 2014 18:36:17 +0000 (20:36 +0200)
committerChristian Linhart <chris@demorecorder.com>
Mon, 25 Aug 2014 11:42:55 +0000 (13:42 +0200)
reasons:
* all X11-requests must have a length which is a multiple of 4 bytes
* bitcases "8Bits" and "16bits" may have a length
  which is not a multiple of 4-bytes
  but they start on a 4-byte aligned position.
  Therefore the unpadded end of the request may not be 4-byte aligned
* Therefore this requires a 4-byte align-pad.

notes:
* The align pad had to be added in each relevant bitcase
  because adding it after the switch would cause the generator
  to abort. (which is OK because a <switch> has to be the last item
  of a struct, request or reply, according to the xcb-xml-spec)

src/xinput.xml

index d6932ba..1103a86 100644 (file)
@@ -1033,12 +1033,14 @@ authorization from the authors.
                 <list type="CARD8" name="data8">
                     <fieldref>num_items</fieldref>
                 </list>
+                <pad align="4" />
             </bitcase>
             <bitcase>
                 <enumref ref="PropertyFormat">16Bits</enumref>
                 <list type="CARD16" name="data16">
                     <fieldref>num_items</fieldref>
                 </list>
+                <pad align="4" />
             </bitcase>
             <bitcase>
                 <enumref ref="PropertyFormat">32Bits</enumref>