Commit c83043b3c125dbe769ab09f9111deca5e3b33931

Ran Benita 2012-03-31T01:26:15

Make temporary fix for stale xkb_atoms When xkb_free_keymap is called the atoms are all free'd, but action.c keeps a global copy of interned "true" and "false", which remains stale. The correct fix is to remove the need for the ActionsInit function entirely. Signed-off-by: Ran Benita <ran234@gmail.com>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
diff --git a/src/xkbcomp/action.c b/src/xkbcomp/action.c
index eca1d6d..7160ebf 100644
--- a/src/xkbcomp/action.c
+++ b/src/xkbcomp/action.c
@@ -1183,11 +1183,13 @@ HandleActionDef(ExprDef * def,
             if ((arg->op == OpNot) || (arg->op == OpInvert))
             {
                 field = arg->value.child;
+                constFalse.value.str = xkb_intern_atom("false");
                 value = &constFalse;
             }
             else
             {
                 field = arg;
+                constTrue.value.str = xkb_intern_atom("true");
                 value = &constTrue;
             }
         }