* On 03/12/2018 08:27 PM, Keith Packard wrote: > This field was defined as a Bool in the protocol headers and BOOL in > xcb. Bool is not a valid type for protocol fields. It is defined as > 'int' by Xdefs.h, which we expect to be 32-bits on all machines. > > The protocol headers and xcb have patches posted to switch to CARD32, > which is at least well defined. > > This change adds the necessary byte swapping to handle other-endian > clients with this 32-bit field, and then changes the request > processing to use only the low byte of that value so that older XCB > clients will continue to work properly, at least on LSB machines. > > On MSB machines, Xlib will continue to work properly, but old XCB will > not interoperate with the X server (either before or after this patch).
An actual matrix for this would be C -> S | old server | new server | Xlib | old xcb | new xcb | Xlib | old xcb | new xcb ------------------------------------------------------------ l -> l | X | X | X | X | X | X l -> B | - | - | - | X | X | X B -> l | - | X | - | X | - | X B -> B | X | - | X | X | - | X Too complicated to fully transcribe into words as part of a commit message, I'd say. The actual changes (both server and proto) LGTM. Mihai
signature.asc
Description: OpenPGP digital signature
_______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel