[Xcb] xinput: up to XI v2.3 with all events

Daniel Martin consume.noise at gmail.com
Sat Feb 16 16:26:44 PST 2013


On Sat, Feb 16, 2013 at 02:48:33PM +0100, Daniel Martin wrote:
> On Tue, Feb 05, 2013 at 02:33:55PM -0500, Peter Harris wrote:
> > On 2013-01-27 08:58, Daniel Martin wrote:
> > > 
> > > Additionally, I pushed everything to github:
> > >     git://github.com/bartsch/xcb-proto.git
> > >     git://github.com/bartsch/xcb-libxcb.git
> > > Both repositories have the branches:
> > >     rev-master
> > >     rev-xinput
> > > 
> > > The rev-master branches contain commits which I think should go into
> > > master. They aren't necessary for the xinput stuff, but the rev-xinput
> > > branches have those commits too.
> > 
> > Thanks.
> > 
> > The parts I've looked at appear reasonable, but I don't know the python
> > well enough to give an honest reviewed-by.
> > 
> > That said, if nobody objects in the next week or so, I'll pull the
> > rev-xinput branches.
> 
> I do. Do not pull the branches. I've totally forgotten that there was a
> problem with the 'full_sequence' field:
>     http://lists.freedesktop.org/archives/xcb/2013-January/008129.html
> 
> I'll fix that (move the field to the beginning of the structure) and
> report back when I've tested and merged the changes.
> 
> Additionally, I'm a bit astonished if the 'full_sequence' field should
> be injected by xcbgen anyways, as the field is looks very libxcb related
> to me. I think it should be injected by c_client.py. Because, others -
> using xcbgen - may don't want or don't handle it. Am I wrong on this
> one?

That's what happens if one had to much beer the evening before ...
The field gets injected there cause I told xcbgen to do so in my XGE
patch. Which is definitly wrong!
And moving it to the beginning raises other problems. Howto hand
out the structure to clients?
- There may be clients relying on the byte order of events, which don't
  expect the full_sequence field there and therefor interpreting
  garbage.
- Or if we would hand out the structure with the offset (pointer behind
  full_sequence field) they can't free() the reply anymore and the
  field would be hidden.

Meanwhile I've found a bug report from Jamey, created in 2006:
    Errors and events should include their 32-bit sequence number
    https://bugs.freedesktop.org/show_bug.cgi?id=6105
I'll pick it up. Because I think there're 2 open points in it and
resolving them would nearly solve my problem with the XGE events vs.
full_sequence field.

Cheers,
    Daniel


More information about the Xcb mailing list