xserver/dix
Peter Hutterer 29a0c87f4d dix: when shutting down slave devices, shut down xtest devices last
XTest devices are the first ones in the list, being initialised together
with the master devices. If we disable the devices in-order and a device has
a button down when being disabled, the XTest device is checked for a
required button release (xkbAccessX.c's ProcessPointerEvent). This fails if
the device is already NULL.

Instead of putting the check there, disable the devices in the reverse order
they are initialised. Disable physical slaves first, then xtest devices,
then the master devices.

Testcase: shut down server with a button still held down on a physical
device

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 3e4be4033a)
2013-02-18 12:13:49 +10:00
..
.gitignore dix and os: gitignore dix.O and os.O 2011-09-23 17:14:47 -07: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
BuiltInAtoms R6.6 is the Xorg base-line 2003-11-14 15:54:54 +00:00
colormap.c Use C99 designated initializers in dix Events 2012-07-09 22:52:30 -07:00
cursor.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
devices.c dix: when shutting down slave devices, shut down xtest devices last 2013-02-18 12:13:49 +10:00
dispatch.c dix: free default colormap before screen deletion 2012-09-04 16:15:52 +10:00
dispatch.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
dixfonts.c Use C99 designated initializers in dix Replies 2012-07-09 19:58:29 -07:00
dixutils.c dix: introduce gpu screens. (v5) 2012-07-06 10:35:13 +01:00
enterleave.c Use C99 designated initializers in dix Events 2012-07-09 22:52:30 -07:00
enterleave.h dix: Move DeviceFocusEvent from Xi into enterleave.c 2012-05-17 08:50:44 +10:00
eventconvert.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
events.c dix: remove already-moved hunk 2013-01-21 13:52:49 +10:00
extension.c Use C99 designated initializers in dix Replies 2012-07-09 19:58:29 -07:00
ffs.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
gc.c Fix up formatting of initializers for arrays of structs 2012-08-06 15:22:53 -07:00
getevents.c dix: pre-scale relative events from abs devices to desktop ratio (#31636) 2013-02-18 12:09:55 +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 dix: don't copy the wrong event mask when activating a passive grab 2013-01-08 12:35:42 +10:00
initatoms.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
inpututils.c Use C99 designated initializers in dix Events 2012-07-09 22:52:30 -07:00
main.c Close GPU screens before core screens 2012-08-14 17:13:52 -07:00
Makefile.am input: add a TouchClassRec to the devices 2011-12-19 09:08:36 +10:00
pixmap.c pixmap: have slave pixmap take a reference on master pixmap 2012-08-07 08:25:06 +10:00
privates.c privates: Resize GPU screen-specific privates too 2012-07-09 16:30:24 -07:00
property.c Use C99 designated initializers in dix Events 2012-07-09 22:52:30 -07:00
protocol.txt Add DRI2 requests to protocol.txt 2009-08-28 23:29:05 -04:00
ptrveloc.c dix: indentation fixes for pointer acceleration 2012-05-16 10:59:35 +10:00
region.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
registry.c Use C99 designated initializers in dix registry 2012-07-09 22:52:30 -07:00
resource.c dix: add reference count of the resource to ResourceSizeRec 2012-04-18 12:49:11 +03:00
selection.c Use C99 designated initializers in dix Events 2012-07-09 22:52:30 -07:00
swaprep.c Remove unneccesary casts from WriteToClient calls 2012-07-09 19:12:56 -07:00
swapreq.c Use C99 designated initializers in dix Events 2012-07-09 22:52:30 -07:00
tables.c Make indentation of dix/tables.c much more consistent and readable 2012-08-06 15:22:53 -07:00
touch.c dix: add resource type to touch listeners 2013-01-21 13:52:46 +10:00
window.c When resetting device idle time, reset XIAll(Master)Devices too (#56649) 2012-12-05 17:36:02 +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