diff options
Diffstat (limited to 'xkb')
-rw-r--r-- | xkb/xkb.c | 4 | ||||
-rw-r--r-- | xkb/xkbLEDs.c | 2 |
2 files changed, 4 insertions, 2 deletions
@@ -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; diff --git a/xkb/xkbLEDs.c b/xkb/xkbLEDs.c index c61296b18..a70ac841d 100644 --- a/xkb/xkbLEDs.c +++ b/xkb/xkbLEDs.c @@ -643,7 +643,7 @@ XkbCopySrvLedInfo( DeviceIntPtr from, else sli_new->fb.lf = lf; - if (sli_new->flags & XkbSLI_IsDefault) { + if (!(sli_new->flags & XkbSLI_IsDefault)) { sli_new->names= _XkbTypedCalloc(XkbNumIndicators,Atom); sli_new->maps= _XkbTypedCalloc(XkbNumIndicators,XkbIndicatorMapRec); } /* else sli_new->names/maps is pointing to |