[Xcb] [PATCH] libxcb: Fix multiple xidtype lists in the same request

Peter Harris peter.is.a.geek at gmail.com
Wed Nov 12 12:15:18 PST 2008


The attached patch fixes a bug where c_client.py wasn't generating
*_end functions, but expected them to exist in order to find the
subsequent list's start. I initially hit this bug when working on
randr: http://lists.freedesktop.org/archives/xcb/2008-November/004037.html

c_client.py compares field.field_type[0] against a hard-coded list of
cardinal types. The trouble is, <xidtype>s have a field_type[0] of
'xcb'. Just like structures and other non-cardinal types.

The fix appears to be replacing _cardinal_types with
field.type.member.is_simple checks.

The down-side is, after this patch all sorts of *_iterator functions
go away (and are replaced with *_end functions). I'm not sure if
anybody is using those functions today, or if we need to provide
backwards-compatibility.

Could someone with more knowledge of c_client.py than I have please
review this patch?

Thanks,
 Peter Harris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Treat-XIDs-the-same-as-other-cardinal-values.patch
Type: application/octet-stream
Size: 2472 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/xcb/attachments/20081112/13350278/attachment.obj 


More information about the Xcb mailing list