xserver/dix
Peter Hutterer af88b43f9e dix: don't emulate scroll events for non-existing axes (#47281)
Test case:
- create a device with REL_HWHEEL and ABS_X and ABS_Y. evdev 2.7.0 will set
  that up as device with 1 relative axis
- move pointer to VGA1
- xrandr --output VGA1 --off

Warps the pointer to the new spot and calls GPE with the x/y mask bits set.
When running through the loop to check for scroll event, this overruns the
axes and may try to emulate scroll events based on random garbage in the
memory. If that memory contained non-zero for the scroll type but near-zero
for the increment field, the server would hang in an infinite loop.

This was the trigger for this suggested, never-merged, patch here:
http://patchwork.freedesktop.org/patch/9543/

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
2012-05-01 11:36:35 +10:00
..
.gitignore dix and os: gitignore dix.O and os.O 2011-09-23 17:14:47 -07:00
BuiltInAtoms R6.6 is the Xorg base-line 2003-11-14 15:54:54 +00:00
Makefile.am input: add a TouchClassRec to the devices 2011-12-19 09:08:36 +10:00
Xserver-dtrace.h.in dix: add dtrace probes to input API 2012-03-22 11:33:42 +10:00
Xserver.d dix: add dtrace probes to input API 2012-03-22 11:33:42 +10:00
atom.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
buildatoms XFree86 4.3.0.1 2003-11-14 16:49:22 +00:00
colormap.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
cursor.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
devices.c Xext: Add per-device SyncCounters 2012-03-22 13:12:56 +10:00
dispatch.c Merge branch 'input-fixes' of git://people.freedesktop.org/~cndougla/xserver into for-keith 2012-04-19 17:03:54 +10:00
dispatch.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
dixfonts.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
dixutils.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
enterleave.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
enterleave.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
eventconvert.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
events.c When activating an explicit grab, update owning listener 2012-04-18 13:58:40 -07:00
extension.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
ffs.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
gc.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
getevents.c dix: don't emulate scroll events for non-existing axes (#47281) 2012-05-01 11:36:35 +10:00
globals.c os: Add -displayfd option 2012-05-01 11:36:30 +10:00
glyphcurs.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
grabs.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
initatoms.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
inpututils.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
main.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
pixmap.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
privates.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
property.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
protocol.txt Add DRI2 requests to protocol.txt 2009-08-28 23:29:05 -04:00
ptrveloc.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
region.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
registry.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
resource.c dix: add reference count of the resource to ResourceSizeRec 2012-04-18 12:49:11 +03:00
selection.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
swaprep.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
swapreq.c Indentation: Change '& stuff' to '&stuff' 2012-03-21 14:02:30 -07:00
tables.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
touch.c TouchListenerAcceptReject: Warn and return early on bad listener index 2012-05-01 11:36:35 +10:00
window.c Change lastDeviceIdleTime to be per-device 2012-03-22 13:12:56 +10:00