On 01/27/2012 06:50 AM, Peter Hutterer wrote: > XIAllowEvents was extended with touchid and grab_window in > 2ea2f99f4fe1dcd3b8e539ca41c482fc40a0533d. This extended the size of the > request from 12 to 20 but also broke the ABI. Older server match the request > size exactly, so compiling libXi 1.5 against inputproto 2.2 and then running > it against a pre-XI 2.2 server causes a BadLength for any XIAllowEvent > request. > > Change the new fields from actual fields to simple comments and let the > library/server deal with the extra data. > > Signed-off-by: Peter Hutterer <[email protected]> > --- > XI2proto.h | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/XI2proto.h b/XI2proto.h > index 93d7e32..9039fe7 100644 > --- a/XI2proto.h > +++ b/XI2proto.h > @@ -647,10 +647,10 @@ typedef struct { > uint16_t deviceid; > uint8_t mode; > uint8_t pad; > - uint32_t touchid; /**< Since XI 2.2 */ > - Window grab_window; /**< Since XI 2.2 */ > + /* uint32_t touchid; Since XI 2.2 */ > + /* Window grab_window; Since XI 2.2 */ > } xXIAllowEventsReq; > -#define sz_xXIAllowEventsReq 20 /**< Was 12 before XI 2.2 > */ > +#define sz_xXIAllowEventsReq 12 /**< 20 in XI 2.2 */ > > > /**
If we're going to break the abi between all three of inputproto, libxi, and xserver, I'd like to ask if we should just skip all this hoop-jumping and create new protocol requests for the XI 2.2 (and hopefully XI 2.3) versions of AllowEvents. This is all getting very hairy and error-prone. What are we really gaining by reusing a request number? -- Chase _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
