Computing how much to move the buffer pointer from the individual reply struct's length fields was wrong: that field tells how many CARD32 units the packet is *longer* than xGenericReply. All replies have at least this size (so length=0), but may be longer. Even more: some of the reply structs are same size as xGenericReply, some are longer (and sometimes we've got extra payload beyond the reply struct). (We really should have convenient macros, so we can get rid of those nasty stumbling blocks once and for all) Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net> |
||
|---|---|---|
| .. | ||
| README.compiled | ||
| XKBAlloc.c | ||
| XKBGAlloc.c | ||
| XKBMAlloc.c | ||
| XKBMisc.c | ||
| XKM_file_format.txt | ||
| ddxBeep.c | ||
| ddxCtrls.c | ||
| ddxKillSrv.c | ||
| ddxLEDs.c | ||
| ddxLoad.c | ||
| ddxPrivate.c | ||
| ddxVT.c | ||
| maprules.c | ||
| meson.build | ||
| xkb-procs.h | ||
| xkb.c | ||
| xkbAccessX.c | ||
| xkbActions.c | ||
| xkbDflts.h | ||
| xkbEvents.c | ||
| xkbInit.c | ||
| xkbLEDs.c | ||
| xkbPrKeyEv.c | ||
| xkbSwap.c | ||
| xkbUtils.c | ||
| xkbfile_priv.h | ||
| xkbfmisc.c | ||
| xkbfmisc_priv.h | ||
| xkbgeom.h | ||
| xkbout.c | ||
| xkbout_priv.h | ||
| xkbrules_priv.h | ||
| xkbsrv_priv.h | ||
| xkbtext.c | ||
| xkbtext_priv.h | ||
| 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.