xserver: Branch 'master' - 2 commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jul 1 01:57:29 UTC 2019
xkb/xkb.c | 9 +++++++++
1 file changed, 9 insertions(+)
New commits:
commit fabc4219622f3c0b41b1cb897c46e092377059e3
Author: Samuel Thibault <samuel.thibault at ens-lyon.org>
Date: Mon Jul 1 02:33:26 2019 +0200
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.
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];
commit 8469bfead9515ab3644f1769a1ff51466ba8ffee
Author: Samuel Thibault <samuel.thibault at ens-lyon.org>
Date: Mon Jul 1 02:31:02 2019 +0200
Fix crash on XkbSetMap
Some devices may not have keyboard information.
Fixes #574
diff --git a/xkb/xkb.c b/xkb/xkb.c
index 764079506..9bd45a34a 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -2383,6 +2383,9 @@ _XkbSetMapChecks(ClientPtr client, DeviceIntPtr dev, xkbSetMapReq * req,
XkbSymMapPtr map;
int i;
+ if (!dev->key)
+ return 0;
+
xkbi = dev->key->xkbInfo;
xkb = xkbi->desc;
@@ -2495,6 +2498,9 @@ _XkbSetMap(ClientPtr client, DeviceIntPtr dev, xkbSetMapReq * req, char *values)
XkbSrvInfoPtr xkbi;
XkbDescPtr xkb;
+ if (!dev->key)
+ return Success;
+
xkbi = dev->key->xkbInfo;
xkb = xkbi->desc;
More information about the xorg-commit
mailing list