summaryrefslogtreecommitdiff
path: root/xkb/xkbInit.c
diff options
context:
space:
mode:
Diffstat (limited to 'xkb/xkbInit.c')
-rw-r--r--xkb/xkbInit.c11
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,