diff --git a/include/xkbsrv.h b/include/xkbsrv.h index cc6307af5..7e71089f1 100644 --- a/include/xkbsrv.h +++ b/include/xkbsrv.h @@ -496,6 +496,10 @@ extern _X_EXPORT void XkbUpdateIndicators(DeviceIntPtr /* keybd */ , XkbEventCausePtr /* cause */ ); +extern _X_EXPORT void XkbUpdateAllDeviceIndicators(XkbChangesPtr /* changes */, + XkbEventCausePtr /* cause */ + ); + extern _X_EXPORT XkbSrvLedInfoPtr XkbAllocSrvLedInfo(DeviceIntPtr /* dev */ , KbdFeedbackPtr /* kf */ , LedFeedbackPtr /* lf */ , diff --git a/xkb/xkb.c b/xkb/xkb.c index 294cdf8a3..3a6ad651e 100644 --- a/xkb/xkb.c +++ b/xkb/xkb.c @@ -5692,7 +5692,6 @@ ProcXkbListComponents(ClientPtr client) } /***====================================================================***/ - int ProcXkbGetKbdByName(ClientPtr client) { @@ -6017,6 +6016,8 @@ ProcXkbGetKbdByName(ClientPtr client) new = NULL; } XkbFreeComponentNames(&names, FALSE); + XkbUpdateAllDeviceIndicators(NULL, NULL); + return Success; } diff --git a/xkb/xkbLEDs.c b/xkb/xkbLEDs.c index 4e1600207..5792d9fb7 100644 --- a/xkb/xkbLEDs.c +++ b/xkb/xkbLEDs.c @@ -304,7 +304,7 @@ XkbUpdateLedAutoState(DeviceIntPtr dev, return; } -static void +void XkbUpdateAllDeviceIndicators(XkbChangesPtr changes, XkbEventCausePtr cause) { DeviceIntPtr edev;