Make temporary fix for stale xkb_atoms
authorRan Benita <ran234@gmail.com>
Fri, 30 Mar 2012 22:26:15 +0000 (01:26 +0300)
committerDaniel Stone <daniel@fooishbar.org>
Mon, 2 Apr 2012 12:12:27 +0000 (13:12 +0100)
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>
src/xkbcomp/action.c

index eca1d6d26d31c4960d528b432a6635861bc3cb4b..7160ebf0c73eba2f0070d7b951d1a914c9e28f59 100644 (file)
@@ -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;
             }
         }