[PATCH 0/5] Enter/Leave and focus model implementation (Take 3)

Peter Hutterer peter.hutterer at who-t.net
Wed Jan 7 16:13:01 PST 2009


As you may be aware, current enter/leave events and focus in/out events are
broken, leading to interesting effects (see Bug 19086 [1]).
In what can be described as an hyperbolic approach, here's the third
implementation of the enter/leave model for multiple pointers (this time also
including focus events).

It is also available as a git branch (rebased on today's master):
git://people.freedesktop.org/~whot/xserver.git enterleave

Notable points: 
- The enter/leave model (bar a few changes in comments) has been sent to the
  list previously.
- The focus model only cares for NotifyPointer events for those pointers that
  caused a local focus change. e.g. if kbd 1 causes a FocusIn, then only ptr 1
  may cause the matching NotifyPointer events. However, this is true only in
  the local scope. A client request to change the input focus may result in
  multiple local focus changes and thus multiple pointers may be involved in
  NotifyPointer events.

The implementation passes the XTS tests for EnterNotify, LeaveNotify, FocusIn
and FocusOut core events in single-pointer mode. With multiple pointers, some
tests fail but that is to be expected.

I'm still running other XTS tests, but I haven't noticed any issues with it
yet on my main laptop. I'd appreciate any testing or feedback.

Cheers,
  Peter

[1] https://bugs.freedesktop.org/show_bug.cgi?id=19086



More information about the xorg mailing list