Find a file
Joe Shaw 9ae9cbae5f fix a sign problem with valuator data.
Without this patch, any negative valuator value is wrong when returned
from XQueryDeviceState().  This is a regression from at least xserver
1.4.

Valuator data is set in dix/getevents.c:set_valuators() by copying
signed int values into an unsigned int field
DeviceEvent.valuators.data.

That data is converted into a double with an implicit cast by
assignment to axisVal[i] in Xi/exevents.c:UpdateDeviceState().

That double is converted back to a signed int in
queryst.c:ProcXQueryDeviceState().  If the original value in
set_valuators() is negative, the double value will be > 2^31 and the
conversion back to a signed int is undefined.  (Although I
consistently see the value -2^31.)

Fix this by changing the definition of DeviceEvent.valuators.data from
uint32_t to int32_t.

Signed-off-by: Joe Shaw <joeshaw@litl.com>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit e354ccac36)
2010-11-14 02:09:41 -08:00
composite composite: initialise pOldPixmap to NullPixmap at alloc time. 2010-06-11 11:09:46 +10:00
config Move 10-evdev.conf to system config dir $datadir/X11/xorg.conf.d 2010-04-09 11:49:27 +10:00
damageext Add type name argument to CreateNewResourceType 2009-12-18 17:44:12 -08:00
dbe Fix pixmap validation in miDbePositionWindow. 2010-06-11 11:09:46 +10:00
dix fix a sign problem with valuator data. 2010-11-14 02:09:41 -08:00
doc Xserver(1) man page updates 2010-05-24 22:23:40 -07:00
exa exa: fix ExaCheckCopyNtoN for exa_classic when source = dest 2010-06-13 15:14:21 +10:00
fb fb: make isClipped always reject negative coordinates (bug 11503) 2010-09-04 11:39:21 -07:00
glx Unwrap/rewrap EnterVT/LeaveVT completely, Fixes 28998 2010-09-08 12:19:33 -07:00
hw Unwrap/rewrap EnterVT/LeaveVT completely, Fixes 28998 2010-09-08 12:19:33 -07:00
include fix a sign problem with valuator data. 2010-11-14 02:09:41 -08:00
m4 dolt: add Cygwin to supported platforms 2009-10-13 20:30:22 -07:00
mi midispcur: Construct Picture objects lazily in case Render is disabled. 2010-06-11 10:40:54 +10:00
miext rootless: Adjust the frame size of the native root window in RootlessResizeWindow 2010-07-19 22:31:20 -07:00
os os: Return BadLength instead of disconnecting BigReq clients (#4565) 2010-10-01 13:32:05 -07:00
randr Don't double-swap the RandR PropertyNotify event 2010-02-12 14:55:19 -08:00
record Re-enable RECORD extension. 2010-02-22 12:04:28 +10:00
render render: Bounds check for nglyphs in ProcRenderAddGlyphs (#28801) 2010-09-04 11:39:03 -07:00
test test/xi2: Initialize predefined atoms before XInputExtensionInit. 2010-05-18 14:44:58 +10:00
Xext xace: Invalid reference to out-of-scope data. 2010-09-04 11:38:54 -07:00
xfixes Make sure XFixes invisible cursor gets freed on server reset 2010-05-18 14:42:16 +10:00
Xi Xi: don't copy the modifier key count when copying device classes (#25480) 2010-06-11 12:49:14 +10:00
xkb xkb: fix invalid memory writes in _XkbCopyGeom. 2010-06-11 11:09:46 +10:00
.gitignore .gitignore: use common defaults with custom section #24239 2009-11-11 21:40:20 -08:00
autogen.sh autogen.sh: Pass --force to autoreconf 2008-07-22 16:55:26 +03:00
configure.ac xserver 1.8.2 2010-07-01 14:42:18 +10:00
COPYING Update Sun license notices to current X.Org standard form 2009-12-16 17:11:35 -08:00
cpprules.in xfree86: Set a saner search path for xorg.conf.d 2010-04-09 11:49:26 +10:00
Makefile.am Fix relink targets for silent rules 2010-03-22 00:45:52 -05:00
README packaging: provide a default README file #24206 2010-01-27 14:00:17 -08:00
xorg-server.m4 macros: use PKG_CONFIG variable rather than executable name 2010-01-07 12:57:23 -08:00
xorg-server.pc.in xfree86: Search for a system xorg.conf.d 2010-04-09 11:49:27 +10:00

					X Server

The X server accepts requests from client applications to create windows,
which are (normally rectangular) "virtual screens" that the client program
can draw into.

Windows are then composed on the actual screen by the X server
(or by a separate composite manager) as directed by the window manager,
which usually communicates with the user via graphical controls such as buttons
and draggable titlebars and borders.

For a comprehensive overview of X Server and X Window System, consult the
following article:
http://en.wikipedia.org/wiki/X_server

All questions regarding this software should be directed at the
Xorg mailing list:

        http://lists.freedesktop.org/mailman/listinfo/xorg

Please submit bug reports to the Xorg bugzilla:

        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg

The master development code repository can be found at:

        git://anongit.freedesktop.org/git/xorg/xserver

        http://cgit.freedesktop.org/xorg/xserver

For patch submission instructions, see:

	http://www.x.org/wiki/Development/Documentation/SubmittingPatches

For more information on the git code manager, see:

        http://wiki.x.org/wiki/GitPage