summaryrefslogtreecommitdiff
path: root/xkb
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2019-07-01 02:33:26 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2019-07-01 02:33:26 +0200
commitfabc4219622f3c0b41b1cb897c46e092377059e3 (patch)
tree1dc858538e678cf91364e1fa2ae6f680b839d05a /xkb
parent8469bfead9515ab3644f1769a1ff51466ba8ffee (diff)
Fix crash on XkbSetMap
Since group_info and width are used for the key actions allocations, when modifying them we need to take care of reallocation key actions if needed.
Diffstat (limited to 'xkb')
-rw-r--r--xkb/xkb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/xkb/xkb.c b/xkb/xkb.c
index 9bd45a34a..3162574a4 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -2110,6 +2110,9 @@ SetKeySyms(ClientPtr client,
}
}
}
+ if (XkbKeyHasActions(xkb, i + req->firstKeySym))
+ XkbResizeKeyActions(xkb, i + req->firstKeySym,
+ XkbNumGroups(wire->groupInfo) * wire->width);
oldMap->kt_index[0] = wire->ktIndex[0];
oldMap->kt_index[1] = wire->ktIndex[1];
oldMap->kt_index[2] = wire->ktIndex[2];