summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-03-17 16:22:00 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-03-23 16:07:05 +1000
commite26f79335bb7a9ad34fe9b23c283a214202f89ed (patch)
tree0cf1f90c3b691faa1c5ee050984fc9dbae888ae5
parent844bb629fe786ecf536039df3f5f4b3b214c9d40 (diff)
xkb: put a few extra checks in against non-keyboards
-rw-r--r--xkb/xkb.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/xkb/xkb.c b/xkb/xkb.c
index ba1a4f6fd..e7c9a312d 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -605,7 +605,7 @@ ProcXkbLatchLockState(ClientPtr client)
for (tmpd = inputInfo.devices; tmpd; tmpd = tmpd->next) {
if ((tmpd == dev) || (!tmpd->isMaster && tmpd->u.master == dev)) {
- if (!tmpd->key->xkbInfo)
+ if (!tmpd->key || !tmpd->key->xkbInfo)
continue;
oldState = tmpd->key->xkbInfo->state;
@@ -744,6 +744,8 @@ ProcXkbSetControls(ClientPtr client)
CHK_MASK_LEGAL(0x01, stuff->changeCtrls, XkbAllControlsMask);
for (tmpd = inputInfo.devices; tmpd; tmpd = tmpd->next) {
+ if (!tmpd->key || !tmpd->key->xkbInfo)
+ continue;
if ((tmpd == dev) || (!tmpd->isMaster && tmpd->u.master == dev)) {
xkbi = tmpd->key->xkbInfo;
ctrl = xkbi->desc->ctrls;