xserver-multidpi/dix
Peter Hutterer 9d6b836570 dix: fix crash on XI 1.x grabs on disabled devices. (#54934)
If the device is disabled, the sprite window is NULL and dereferencing
crashes the server.

This is only triggered for XI 1.x grabs (ProcXGrabDevice) as XI2 grabs would
trigger another code path, creating a sprite for the disabled device as if
detaching it (which is wrong and fixed with this patch too).

Grabbing a disabled device doesn't make sense as it won't send events
anyway. However, the protocol specs do not prohibit it, so we need to keep
it working.
Luckily, oldWin is only used for focus out events, which aren't necessary
given that the device is disabled.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@ubuntu.com>
2012-10-04 13:24:43 +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: set the device transformation matrix 2012-09-23 10:38:42 -07: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: fix crash on XI 1.x grabs on disabled devices. (#54934) 2012-10-04 13:24:43 +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: fix scale_to_desktop for edge ABS events 2012-09-24 11:12:04 -07: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 Fix more poorly indented/wrapped comments & code 2012-07-09 19:14:50 -07: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: fix memory leak in TouchEventHistoryReplay 2012-07-04 21:16:16 +10:00
window.c dix: Remove MapUnmapEventsEnabled and friends 2012-09-23 10:41:54 -07: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