xserver-multidpi/xkb
Peter Hutterer 2decff6393 xkb: ProcesssPointerEvent must work on the VCP if it gets the VCP
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>
2012-10-29 13:15:50 +10:00
..
ddxBeep.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
ddxCtrls.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
ddxKillSrv.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
ddxLEDs.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
ddxList.c xwin: Clean up os wrappers for System, Popen and Pclose on Windows 2012-07-17 16:08:04 +01:00
ddxLoad.c xwin: Clean up os wrappers for System, Popen and Pclose on Windows 2012-07-17 16:08:04 +01:00
ddxPrivate.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
ddxVT.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
Makefile.am xkb: rename XkbFakeDeviceButton and XkbFakeDeviceMotion, move into xkbActions.c 2010-04-19 09:23:20 +10:00
maprules.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
README.compiled R6.6 is the Xorg base-line 2003-11-14 15:54:54 +00:00
xkb.c Move extension initialisation prototypes into extinit.h 2012-07-09 23:06:41 -07:00
xkb.h Move extension initialisation prototypes into extinit.h 2012-07-09 23:06:41 -07:00
xkbAccessX.c xkb: ProcesssPointerEvent must work on the VCP if it gets the VCP 2012-10-29 13:15:50 +10:00
xkbActions.c xkb: Remove redundant declarations. 2012-05-14 13:16:50 +01:00
XKBAlloc.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbDflts.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbEvents.c Use C99 designated initializers in extension Events 2012-07-09 22:52:30 -07:00
xkbfmisc.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
XKBGAlloc.c XKB: Geom: Remove unused code 2012-07-10 00:42:09 -07:00
xkbgeom.h XKB: Geom: Remove unused code 2012-07-10 00:42:09 -07:00
xkbInit.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbLEDs.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
XKBMAlloc.c xkb: Allocate size_syms correctly when width of a type increases 2012-06-04 11:28:44 +10:00
XKBMisc.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbout.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbPrKeyEv.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbSwap.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbtext.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbUtils.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
XKM_file_format.txt xkb: Add XKM file format description. 2010-02-02 10:03:21 +10:00
xkmread.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00

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.