diff options
Diffstat (limited to 'xkb/xkbInit.c')
-rw-r--r-- | xkb/xkbInit.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c index 09317e943..ce5de077e 100644 --- a/xkb/xkbInit.c +++ b/xkb/xkbInit.c @@ -222,8 +222,8 @@ char * pval; ErrorF("[xkb] Internal Error! bad size (%d!=%d) for _XKB_RULES_NAMES\n", out,len); } - ChangeWindowProperty(WindowTable[0],name,XA_STRING,8,PropModeReplace, - len,pval,True); + dixChangeWindowProperty(serverClient, WindowTable[0], name, XA_STRING, 8, + PropModeReplace, len, pval, True); xfree(pval); return True; } @@ -375,7 +375,8 @@ Atom unknown; names->vmods[vmod_AltGr]= CREATE_ATOM("ModeSwitch"); } - if (!(xkb->defined & XkmIndicatorsMask)) { + if (!(xkb->defined & XkmIndicatorsMask) || + !(xkb->defined & XkmGeometryMask)) { initIndicatorNames(NULL,xkb); if (names->indicators[LED_CAPS-1]==None) names->indicators[LED_CAPS-1] = CREATE_ATOM("Caps Lock"); @@ -531,10 +532,10 @@ XkbEventCauseRec cause; XkbDDXInitDevice(pXDev); if (xkb->defined & XkmSymbolsMask) + XkbUpdateCoreDescription(pXDev, True); + else XkbUpdateKeyTypesFromCore(pXDev, xkb->min_key_code, XkbNumKeys(xkb), &changes); - else - XkbUpdateCoreDescription(pXDev, True); XkbSetCauseUnknown(&cause); XkbUpdateActions(pXDev,xkb->min_key_code, XkbNumKeys(xkb),&changes, |