diff options
author | marha <marha@users.sourceforge.net> | 2012-05-02 09:01:55 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-05-02 09:01:55 +0200 |
commit | 3d353f31ac1671d1b39c09b1f8d82c8811d3edd6 (patch) | |
tree | ce19dbcec75ce7e87547f6f9b3495888aaea0966 /xorg-server/dix | |
parent | b2a0f04a2984b290c1224fc1b1883d08b01a6231 (diff) | |
parent | e67b35e7a899da5805fcce3d390cb10ebcaffe91 (diff) | |
download | vcxsrv-3d353f31ac1671d1b39c09b1f8d82c8811d3edd6.tar.gz vcxsrv-3d353f31ac1671d1b39c09b1f8d82c8811d3edd6.tar.bz2 vcxsrv-3d353f31ac1671d1b39c09b1f8d82c8811d3edd6.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
xorg-server/os/connection.c
Diffstat (limited to 'xorg-server/dix')
-rw-r--r-- | xorg-server/dix/devices.c | 1 | ||||
-rw-r--r-- | xorg-server/dix/getevents.c | 3 | ||||
-rw-r--r-- | xorg-server/dix/globals.c | 1 | ||||
-rw-r--r-- | xorg-server/dix/touch.c | 5 |
4 files changed, 10 insertions, 0 deletions
diff --git a/xorg-server/dix/devices.c b/xorg-server/dix/devices.c index d5ad08e16..21179ee59 100644 --- a/xorg-server/dix/devices.c +++ b/xorg-server/dix/devices.c @@ -441,6 +441,7 @@ DisableDevice(DeviceIntPtr dev, BOOL sendevent) if (*prev != dev) return FALSE; + ReleaseButtonsAndKeys(dev); SyncRemoveDeviceIdleTime(dev->idle_counter); dev->idle_counter = NULL; diff --git a/xorg-server/dix/getevents.c b/xorg-server/dix/getevents.c index 0a6a997ca..e0ef18365 100644 --- a/xorg-server/dix/getevents.c +++ b/xorg-server/dix/getevents.c @@ -1619,6 +1619,9 @@ GetPointerEvents(InternalEvent *events, DeviceIntPtr pDev, int type, /* Now turn the smooth-scrolling axes back into emulated button presses * for legacy clients, based on the integer delta between before and now */ for (i = 0; i < valuator_mask_size(&mask); i++) { + if (i >= pDev->valuator->numAxes) + break; + if (!valuator_mask_isset(&mask, i)) continue; diff --git a/xorg-server/dix/globals.c b/xorg-server/dix/globals.c index a564575f3..332b91f5c 100644 --- a/xorg-server/dix/globals.c +++ b/xorg-server/dix/globals.c @@ -128,6 +128,7 @@ int defaultColorVisualClass = -1; int monitorResolution = 0; char *display; +int displayfd; char *ConnectionInfo; CARD32 TimeOutValue = DEFAULT_TIMEOUT * MILLI_PER_SECOND; diff --git a/xorg-server/dix/touch.c b/xorg-server/dix/touch.c index dd16367d0..401cb981a 100644 --- a/xorg-server/dix/touch.c +++ b/xorg-server/dix/touch.c @@ -966,6 +966,11 @@ TouchListenerAcceptReject(DeviceIntPtr dev, TouchPointInfoPtr ti, int listener, int nev; int i; + BUG_WARN(listener < 0); + BUG_WARN(listener >= ti->num_listeners); + if (listener < 0 || listener >= ti->num_listeners) + return BadMatch; + if (listener > 0) { if (mode == XIRejectTouch) TouchRejected(dev, ti, ti->listeners[listener].listener, NULL); |