xserver-multidpi/dix
Peter Hutterer 4c68f5d395 dix: disable all devices before shutdown
f3410b97cf introduced a regression on server
shutdown. If any button or key was held on shutdown (ctrl, alt, backspace
are usually still down) sending a raw event will segfault the server. The
the root windows are set to NULL before calling CloseDownDevices().

Avoid this by disabling all devices first when shutting down. Disabled
devices won't send events anymore.

Master keyboards must be disabled first, otherwise disabling the pointer
will trigger DisableDevice(keyboard) and the keyboard is removed from the
inputInfo.devices list and moved to inputInfo.off_devices. A regular loop
through inputInfo.devices would thus jump to off_devices and not recover.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Chase Douglas <chase.douglas@canonical.com>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
2012-06-07 14:13:51 +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 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 dix: disable all devices before shutdown 2012-06-07 14:13:51 +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 dix: Move DeviceFocusEvent from Xi into enterleave.c 2012-05-17 08:50:44 +10: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: move freeing the sprite into a function 2012-06-07 14:13:44 +10: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 Replace a few BUG_WARN with BUG_RETURN_VAL 2012-06-07 13:30:54 +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 dix: disable all devices before shutdown 2012-06-07 14:13:51 +10:00
Makefile.am input: add a TouchClassRec to the devices 2011-12-19 09:08:36 +10: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 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 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 dix: rename shadowing loop variable in TouchResizeQueue 2012-06-07 13:31:41 +10:00
window.c Change lastDeviceIdleTime to be per-device 2012-03-22 13:12:56 +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