[PATCH] xkb: Keep action/keysym table size in sync when setting keysyms
Dirk Wallenstein
halsmit at t-online.de
Fri Feb 19 10:22:04 PST 2010
The size of an action table for a key is determined by the corresponding
XkbSymMapRec. Once group_info (incl. groupsCount) and width are updated
the actual size of the current actions table is lost. Therefore this
will resize the actions table, too, when setting keysyms.
This might be related to bug #25321
Signed-off-by: Dirk Wallenstein <halsmit at t-online.de>
---
xkb/xkb.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/xkb/xkb.c b/xkb/xkb.c
index 29052bf..cd49387 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -2070,6 +2070,9 @@ unsigned first,last;
pSyms = (KeySym *)&wire[1];
if (wire->nSyms>0) {
newSyms = XkbResizeKeySyms(xkb,i+req->firstKeySym,wire->nSyms);
+ if (XkbKeyHasActions(xkb,i+req->firstKeySym)) {
+ XkbResizeKeyActions(xkb,i+req->firstKeySym,wire->nSyms);
+ }
for (s=0;s<wire->nSyms;s++) {
newSyms[s]= pSyms[s];
}
--
1.6.5.3
More information about the xorg-devel
mailing list