Commit d573600da0c09479ff382d98f9e0aa08ee88dbc3

Ran Benita 2012-08-30T16:39:33

compat: ignore "ledDrivesKbd" in indicator statements We don't support it, as mentioned in the README, so we should stop processing it and print a message about it. Signed-off-by: Ran Benita <ran234@gmail.com>

diff --git a/src/xkbcomp/compat.c b/src/xkbcomp/compat.c
index 349f902..c5da7df 100644
--- a/src/xkbcomp/compat.c
+++ b/src/xkbcomp/compat.c
@@ -156,7 +156,6 @@ enum led_field {
     LED_FIELD_GROUPS     = (1 << 1),
     LED_FIELD_CTRLS      = (1 << 2),
     LED_FIELD_EXPLICIT   = (1 << 3),
-    LED_FIELD_DRIVES_KBD = (1 << 4),
 };
 
 typedef struct _LEDInfo {
@@ -533,12 +532,6 @@ AddIndicatorMap(CompatInfo *info, LEDInfo *new)
             old->flags |= (new->flags & XkbIM_NoExplicit);
             old->defined |= LED_FIELD_EXPLICIT;
         }
-        if (UseNewLEDField(LED_FIELD_DRIVES_KBD, old, new, verbosity,
-                           &collide)) {
-            old->flags &= ~XkbIM_LEDDrivesKB;
-            old->flags |= (new->flags & XkbIM_LEDDrivesKB);
-            old->defined |= LED_FIELD_DRIVES_KBD;
-        }
 
         if (collide) {
             log_warn(info->keymap->ctx,
@@ -839,20 +832,9 @@ SetIndicatorMapField(CompatInfo *info, LEDInfo *led,
              istreq(field, "leddriveskeyboard") ||
              istreq(field, "indicatordriveskbd") ||
              istreq(field, "indicatordriveskeyboard")) {
-        bool set;
-
-        if (arrayNdx)
-            return ReportIndicatorNotArray(info, led, field);
-
-        if (!ExprResolveBoolean(keymap->ctx, value, &set))
-            return ReportIndicatorBadType(info, led, field, "boolean");
-
-        if (set)
-            led->flags |= XkbIM_LEDDrivesKB;
-        else
-            led->flags &= ~XkbIM_LEDDrivesKB;
-
-        led->defined |= LED_FIELD_DRIVES_KBD;
+        log_dbg(info->keymap->ctx,
+                "The \"%s\" field in indicator statements is unsupported; "
+                "Ignored\n", field);
     }
     else if (istreq(field, "index")) {
         /* Users should see this, it might cause unexpected behavior. */