xserver/Xi
Peter Hutterer 797f63b8be Xi: disallow grabbing disabled devices
Grabbing a disabled (pointer) device will lead to a segfault later
in the myriad of places where we look at the device's spriteInfo - which
will be NULL.

As a workaround, disallow grabbing a disabled device by pretending it's
already grabbed. Since the point of a grab is to receive all events by
that device and disabled devices cannot send events, this should be Good
Enough.

Tested-by: Olivier Fourdan <ofourdan@redhat.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1856>
2025-03-06 14:19:50 +01:00
..
XIstubs.h include: unexport XIstubs.h 2024-09-01 22:21:12 +00:00
allowev.c dix: add prefix to grab state value defines 2025-02-26 13:24:41 +00:00
allowev.h
chgdctl.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
chgdctl.h
chgfctl.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
chgfctl.h
chgkbd.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
chgkbd.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
chgkmap.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
chgkmap.h
chgprop.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
chgprop.h
chgptr.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
chgptr.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
closedev.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
closedev.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
devbell.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
devbell.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
exevents.c os: move BUG_*() macros to own private header 2025-02-17 19:32:48 +00:00
exglobals.h xinput: Remove PropagateMask 2020-03-30 21:48:11 +00:00
extinit.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
getbmap.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
getbmap.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
getdctl.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
getdctl.h
getfctl.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
getfctl.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
getfocus.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
getfocus.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
getkmap.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
getkmap.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
getmmap.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
getmmap.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
getprop.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
getprop.h
getselev.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
getselev.h
getvers.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
getvers.h
grabdev.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
grabdev.h
grabdevb.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
grabdevb.h
grabdevk.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
grabdevk.h
gtmotion.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
gtmotion.h
listdev.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
listdev.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
meson.build
opendev.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
opendev.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
queryst.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
queryst.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
selectev.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
selectev.h
sendexev.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
sendexev.h
setbmap.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
setbmap.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
setdval.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
setdval.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
setfocus.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
setfocus.h
setmmap.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
setmmap.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
setmode.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
setmode.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
stubs.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
ungrdev.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
ungrdev.h
ungrdevb.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
ungrdevb.h
ungrdevk.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
ungrdevk.h
xiallowev.c dix: add prefix to grab state value defines 2025-02-26 13:24:41 +00:00
xiallowev.h
xibarriers.c Xi: Fix barrier device search 2025-02-25 11:43:01 +01:00
xibarriers.h
xichangecursor.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
xichangecursor.h
xichangehierarchy.c drop not needed includes of geext.h 2025-02-24 20:19:55 +00:00
xichangehierarchy.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
xigetclientpointer.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
xigetclientpointer.h
xigrabdev.c Xi: disallow grabbing disabled devices 2025-03-06 14:19:50 +01:00
xigrabdev.h
xipassivegrab.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
xipassivegrab.h
xiproperty.c Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
xiproperty.h Xi: drop now obsolete swap procs 2025-02-06 22:28:52 +00:00
xiquerydevice.c misc.h: unexport compare_version() 2025-02-18 11:17:40 +00:00
xiquerydevice.h
xiquerypointer.c misc.h: unexport compare_version() 2025-02-18 11:17:40 +00:00
xiquerypointer.h
xiqueryversion.c misc.h: unexport compare_version() 2025-02-18 11:17:40 +00:00
xiqueryversion.h
xiselectev.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
xiselectev.h
xisetclientpointer.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
xisetclientpointer.h
xisetdevfocus.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
xisetdevfocus.h
xiwarppointer.c Xi: drop swapping request length fields 2025-02-06 22:28:51 +00:00
xiwarppointer.h