diff options
Diffstat (limited to 'xkb/xkbInit.c')
-rw-r--r-- | xkb/xkbInit.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c index 1f5f8dc49..2e7561294 100644 --- a/xkb/xkbInit.c +++ b/xkb/xkbInit.c @@ -474,10 +474,18 @@ InitKeyboardDeviceStruct(DeviceIntPtr dev, XkbRMLVOSet *rmlvo, XkbSrvLedInfoPtr sli; XkbChangesRec changes; XkbEventCauseRec cause; + XkbRMLVOSet rmlvo_dflts = { NULL }; - if (dev->key || dev->kbdfeed || !rmlvo) + if (dev->key || dev->kbdfeed) return False; + if (!rmlvo) + { + rmlvo = &rmlvo_dflts; + XkbGetRulesDflts(rmlvo); + } + + memset(&changes, 0, sizeof(changes)); XkbSetCauseUnknown(&cause); |