[Xcb] Wrong value_mask type in for ConfigureWindow?
Peter Harris
pharris at opentext.com
Tue Jan 13 10:33:31 PST 2009
Friedrich Weber wrote:
> I'm currently experimenting with the xcb-proto protocol description
> files and xcbgen in order to create another Python binding. I've had
> some trouble getting the `ConfigureWindow` request running (crashed with
> a BadValue error), and it seems like the `ConfigureWindow` request has a
> wrong value-mask-type set in xproto.xml (it's CARD16 at the moment).
>
> The Core X Protocol documentation
> (http://www.xfree86.org/current/proto.pdf) specifies BITMASK as a CARD32
> on page 115. However, it reserves only 2 Bytes for the bitmask for the
> ConfigureWindow request (see page 125), followed by 2 unused bytes.
> In order to 'fix' that, I changed the value-mask-type from CARD16 to
> CARD32, and the generated bindings did their job properly. However, I am
> very unsure if that change will work on other machines, because it looks
> like a dirty hack ;)
>
> What do you think about that?
I think it is not only a dirty hack, but also wrong.
On an LSB-first connection, a CARD32 should be identical to
CARD16+pad(2). So I strongly suspect your binding generator is busted.
Maybe you forgot the pad(2) part?
That, and it obviously won't work on an MSB machine after your change.
Peter Harris
--
Open Text Connectivity Solutions Group
Peter Harris http://www.opentext.com/connectivity
Research and Development Phone: +1 905 762 6001
pharris at opentext.com Toll Free: 1 877 359 4866
More information about the Xcb
mailing list