xserver-multidpi/hw
Peter Hutterer ad3bc57134 xfree86: update the device state for all DGA events (#59100)
DGA only handles master devices but it does intercept slave device events as
well (since the event handlers are per event type, not per device).

The DGA code must thus call into UpdateDeviceState to reset the button/key
state on the slave device before it discards the remainder of the event.

Test case:
- Passive GrabModeSync on VCP
- Press button
- Enable DGA after ButtonPress
- AllowEvents(SyncPointer)
- Release button

The button release is handled by DGAProcessPointerEvent but the device state
is never updated, so the slave ends up with the button permanently down.
And since the master's button state is the union of the slave states, the
master has the button permanently down.

X.Org Bug 59100 <http://bugs.freedesktop.org/show_bug.cgi?id=59100>

Reported-by: Steven Elliott <selliott4@austin.rr.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
2013-01-11 14:57:40 +10:00
..
dmx Merge remote-tracking branch 'yselkowitz/master' 2012-12-19 12:22:03 -08:00
kdrive Fix formatting of address operators 2012-12-05 18:09:48 -06:00
vfb vfb: Initialize the GLX extension again. 2012-11-21 11:13:55 +11:00
xfree86 xfree86: update the device state for all DGA events (#59100) 2013-01-11 14:57:40 +10:00
xnest dix: Remove #includes of mibstore.h 2012-09-23 10:31:27 -07:00
xquartz XQuartz: Don't add the 15bit visual any more 2012-12-18 01:37:27 -08:00
xwin Fix two typos "requires an string value" 2013-01-11 14:57:32 +10:00
Makefile.am Catch errors in recursive relink targets 2010-03-22 00:45:57 -05:00