2decff6393
For button release events, the current code picks the VCK. Because that has a XKB struct, it thinks this is a PointerKeys event and proceeds to send the release event through the XTest pointer. That has no effect in normal operation as the button is never down and an attempt is silently discarded (normal event processing continues with the VCP). On server shutdown, the XTest device is already removed, leading to a null-pointer derefernce when the device is checked for whether buttons are down (XkbFakeDeviceButton → button_is_down(xtest pointer)). The current state has only worked by accident, the right approach here is to handle the VCP's event as such and not switch to the keyboard. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com> |
||
---|---|---|
.. | ||
ddxBeep.c | ||
ddxCtrls.c | ||
ddxKillSrv.c | ||
ddxLEDs.c | ||
ddxList.c | ||
ddxLoad.c | ||
ddxPrivate.c | ||
ddxVT.c | ||
Makefile.am | ||
maprules.c | ||
README.compiled | ||
xkb.c | ||
xkb.h | ||
xkbAccessX.c | ||
xkbActions.c | ||
XKBAlloc.c | ||
xkbDflts.h | ||
xkbEvents.c | ||
xkbfmisc.c | ||
XKBGAlloc.c | ||
xkbgeom.h | ||
xkbInit.c | ||
xkbLEDs.c | ||
XKBMAlloc.c | ||
XKBMisc.c | ||
xkbout.c | ||
xkbPrKeyEv.c | ||
xkbSwap.c | ||
xkbtext.c | ||
xkbUtils.c | ||
XKM_file_format.txt | ||
xkmread.c |
The X server uses this directory to store the compiled version of the current keymap and/or any scratch keymaps used by clients. The X server or some other tool might destroy or replace the files in this directory, so it is not a safe place to store compiled keymaps for long periods of time. The default keymap for any server is usually stored in: X<num>-default.xkm where <num> is the display number of the server in question, which makes it possible for several servers *on the same host* to share the same directory. Unless the X server is modified, sharing this directory between servers on different hosts could cause problems.