From: Ran Benita Date: Mon, 8 Oct 2012 20:11:18 +0000 (+0200) Subject: compat: fix bad interpret predicate mods "all" calculation X-Git-Tag: xkbcommon-0.2.0~40 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2ac319c54ab2072709916cced2e0eb8c8d37f859;p=platform%2Fupstream%2Flibxkbcommon.git compat: fix bad interpret predicate mods "all" calculation Commit 9984d1d03cd78eb636c75cc2bbd2d240dc1dd72f changed the type of interpret->mods to xkb_mod_mask_t, but this bit of code assumes that the type is uint8_t. This code is not usually run (for example by our tests), but when it does keymap-dump would print out all of the modifiers (including the virtual ones) which causes recompilation of the output to fail miserably. https://bugs.freedesktop.org/show_bug.cgi?id=55769 Signed-off-by: Ran Benita --- diff --git a/src/xkbcomp/compat.c b/src/xkbcomp/compat.c index 04ab2f9..e6905ae 100644 --- a/src/xkbcomp/compat.c +++ b/src/xkbcomp/compat.c @@ -369,7 +369,7 @@ ResolveStateAndPredicate(ExprDef *expr, enum xkb_match_operation *pred_rtrn, { if (expr == NULL) { *pred_rtrn = MATCH_ANY_OR_NONE; - *mods_rtrn = ~0; + *mods_rtrn = MOD_REAL_MASK_ALL; return true; }