[PATCH 0/2] Patches for Xi

Egbert Eich eich at freedesktop.org
Thu Aug 15 06:49:19 PDT 2013


Here are two patches for Xi:
The first is a fix for DeviceButtonGrabClass: if multiple clients
have registered for button events on the same window, the client
belonging to DeviceButtonGrabClass should grab the button on press 
so it will receive release events. Presently however this is not 
guaranteed: the client which was started last will get the grab, 
no matter if it belongs to DeviceButtonGrabClass or not.

The latter one changes the behavior if two clients belonging
to DeviceButtonClass register for events on the same window.
Presently the behavior is the same as for core events: an implicite
grab is activated on one of the clients so this client will
receive the release events while the other won't.
This patch changes the behavior so that always all clients will
see both press and release events ifnone of them belongs to 
DeviceButtonGrabClass.
The specs don't guarantee that a client not belonging to this
class will receive a release event when it has received a button
press. So either behavior is covered by the spec.
This I'm putting this patch up for discussion - there is nothing
that would mandate to change the behavior. It seems to be a 
reasonable change however.

Egbert Eich (2):
  DIX/Xi: Pass correct client to CheckDeviceGrabAndHintWindow()
  DIX/Xi: Don't grab device buttons if no grab is registered

 dix/events.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

-- 
1.8.1.4



More information about the xorg-devel mailing list