xserver: Branch 'master' - 2 commits
Daniel Stone
daniels at kemper.freedesktop.org
Fri Dec 8 21:31:58 EET 2006
hw/xfree86/common/xf86Events.c | 2 --
xkb/xkbUtils.c | 14 ++++++++++++--
2 files changed, 12 insertions(+), 4 deletions(-)
New commits:
diff-tree ec84f72d077eaf2e7768a1f5398f65a5e1714d08 (from e59aeac1ff13ea53f44dba1ac7800f37f4532ca1)
Author: Daniel Stone <daniel at fooishbar.org>
Date: Fri Dec 8 21:31:47 2006 +0200
XkbCopyKeymap: always initialise map and preserve
If we don't have map or preserve in the source map, make sure the
destination is initialised to NULL, and freed if it's a valid type.
diff --git a/xkb/xkbUtils.c b/xkb/xkbUtils.c
index 321bf2e..c9c5ed0 100644
--- a/xkb/xkbUtils.c
+++ b/xkb/xkbUtils.c
@@ -1144,6 +1144,11 @@ XkbCopyKeymap(XkbDescPtr src, XkbDescPtr
memcpy(dtype->map, stype->map,
stype->map_count * sizeof(XkbKTMapEntryRec));
}
+ else {
+ if (dtype->map && i < dst->map->num_types)
+ xfree(dtype->map);
+ dtype->map = NULL;
+ }
if (stype->preserve) {
if (stype->map_count != dtype->map_count &&
@@ -1168,17 +1173,22 @@ XkbCopyKeymap(XkbDescPtr src, XkbDescPtr
memcpy(dtype->preserve, stype->preserve,
stype->map_count * sizeof(XkbModsRec));
}
+ else {
+ if (dtype->preserve && i < dst->map->num_types)
+ xfree(dtype->preserve);
+ dtype->preserve = NULL;
+ }
dtype->map_count = stype->map_count;
}
else {
- if (dtype->map_count) {
+ if (dtype->map_count && i < dst->map->num_types) {
if (dtype->map)
xfree(dtype->map);
if (dtype->preserve)
xfree(dtype->preserve);
- dtype->map_count = 0;
}
+ dtype->map_count = 0;
dtype->map = NULL;
dtype->preserve = NULL;
}
diff-tree e59aeac1ff13ea53f44dba1ac7800f37f4532ca1 (from 729fca33a417ae3dfb180caf0ea8946ef9eee1df)
Author: Daniel Stone <daniel at fooishbar.org>
Date: Wed Dec 6 23:44:06 2006 +0200
xfree86: remove stray debug line
diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c
index 5469426..05e62f1 100644
--- a/hw/xfree86/common/xf86Events.c
+++ b/hw/xfree86/common/xf86Events.c
@@ -789,8 +789,6 @@ xf86ReleaseKeys(DeviceIntPtr pDev)
xEvent ke;
int i = 0, j = 0, nevents = 0;
- ErrorF("releasekeys: called on device %s (%d)\n", pDev->name, pDev->id);
-
if (!pDev || !pDev->key)
return;
More information about the xorg-commit
mailing list