summaryrefslogtreecommitdiff
path: root/xkb
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2019-07-01 02:31:02 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2019-07-01 02:33:09 +0200
commit8469bfead9515ab3644f1769a1ff51466ba8ffee (patch)
treeb1f1c72684a5480e9e851c7b4e234e458127db4d /xkb
parentff6b771eeea763c19d057e8741a2cadb37db9b68 (diff)
downloadxserver-8469bfead9515ab3644f1769a1ff51466ba8ffee.tar.gz
Fix crash on XkbSetMap
Some devices may not have keyboard information. Fixes #574
Diffstat (limited to 'xkb')
-rw-r--r--xkb/xkb.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/xkb/xkb.c b/xkb/xkb.c
index 764079506..9bd45a34a 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -2383,6 +2383,9 @@ _XkbSetMapChecks(ClientPtr client, DeviceIntPtr dev, xkbSetMapReq * req,
XkbSymMapPtr map;
int i;
+ if (!dev->key)
+ return 0;
+
xkbi = dev->key->xkbInfo;
xkb = xkbi->desc;
@@ -2495,6 +2498,9 @@ _XkbSetMap(ClientPtr client, DeviceIntPtr dev, xkbSetMapReq * req, char *values)
XkbSrvInfoPtr xkbi;
XkbDescPtr xkb;
+ if (!dev->key)
+ return Success;
+
xkbi = dev->key->xkbInfo;
xkb = xkbi->desc;