[PATCH] Re-enable the RECORD extension. (#20500)
Daniel Stone
daniel at fooishbar.org
Tue Jan 12 07:29:46 PST 2010
Hi,
On Mon, Jan 11, 2010 at 04:13:25PM +1000, Peter Hutterer wrote:
> On Sat, Jan 09, 2010 at 03:45:08AM +1100, Daniel Stone wrote:
> > So it looks like we will record one Xi and one core event for every
> > event that ends up getting sent through the MD, regardless of which
> > deliveries were made.
> >
> > Previously we'd only record an input event if any deliveries of that
> > type occurred, right? It looks like something like the attached
> > (note: wholly untested, had to peg my CPU at 12% to prevent thermal
> > shutdowns ... MacBook Air + Australian summer is a poor combination)
> > would match the old semantics.
>
> Not quite. RECORD differs between "device events" and "delivered events".
> The former include all events regardless of whether they are delivered so
> the process here is correct. The naming in the code is somewhat unfortunate,
> it's "device events" and "events" when they are really "all events" and
> "delivered events".
>
> Record requires that _any_ event is delivered, hence the hook in
> WriteEventsToClient which is called for all events including randr, XI, etc.
>
> It looks like Chris' original patch was correct anyway once the EventToCore
> patch is applied. I'm still waiting for more test feedback.
Yeah, just checked the spec and you're right. Aside from the two
ErrorFs left in there, it seems like it behaves incorrectly for events
queued while a device is grabbed. From my reading of the spec, it looks
like a device event should be generated from EnqueueEvent, but not from
ProcessOtherEvent when the device is thawed; delivered events should
still be sent though.
Cheers,
Daniel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
Url : http://lists.x.org/archives/xorg-devel/attachments/20100113/711e9233/attachment.pgp
More information about the xorg-devel
mailing list