xserver: Branch 'input-hotplug'
Daniel Stone
daniels at kemper.freedesktop.org
Thu Sep 7 15:41:58 EEST 2006
xkb/XKBAlloc.c | 5 ++++-
xkb/xkbUtils.c | 11 +++++++++--
2 files changed, 13 insertions(+), 3 deletions(-)
New commits:
diff-tree 629798c73ad76a77fa6a55bc6403fd9b95ade2bb (from 4524a2bf6f22c871ed109b027a065f0262137dc5)
Author: Daniel Stone <daniel at fooishbar.org>
Date: Thu Sep 7 15:17:04 2006 +0300
XkbCopyKeymap/SrvXkbCopyKeymap: free geom harder, add cheery comments
Unconditionally free geometry when copying the keymap (so we have none on
core, oh well), add a couple of heartening comments.
diff --git a/xkb/XKBAlloc.c b/xkb/XKBAlloc.c
index 8356e47..c474733 100644
--- a/xkb/XKBAlloc.c
+++ b/xkb/XKBAlloc.c
@@ -324,8 +324,11 @@ XkbFreeKeyboard(XkbDescPtr xkb,unsigned
XkbFreeIndicatorMaps(xkb);
if (which&XkbNamesMask)
XkbFreeNames(xkb,XkbAllNamesMask,True);
- if ((which&XkbGeometryMask) && (xkb->geom!=NULL))
+ if ((which&XkbGeometryMask) && (xkb->geom!=NULL)) {
XkbFreeGeometry(xkb->geom,XkbGeomAllMask,True);
+ /* PERHAPS BONGHITS etc */
+ xkb->geom = NULL;
+ }
if (which&XkbControlsMask)
XkbFreeControls(xkb,XkbAllControlsMask,True);
if (freeAll)
diff --git a/xkb/xkbUtils.c b/xkb/xkbUtils.c
index 813801d..0fde727 100644
--- a/xkb/xkbUtils.c
+++ b/xkb/xkbUtils.c
@@ -1476,6 +1476,8 @@ XkbCopyKeymap(XkbDescPtr src, XkbDescPtr
}
/* geometry */
+ /* not implemented yet because oh god the pain. */
+#if 0
if (src->geom) {
/* properties */
/* colors */
@@ -1485,9 +1487,13 @@ XkbCopyKeymap(XkbDescPtr src, XkbDescPtr
/* key aliases */
/* font?!? */
}
- else {
+ else
+#endif
+ {
if (dst->geom) {
+ /* I LOVE THE DIFFERENT CALL SIGNATURE. REALLY, I DO. */
XkbFreeGeometry(dst->geom, XkbGeomAllMask, True);
+ dst->geom = NULL;
}
}
@@ -1520,7 +1526,8 @@ XkbCopyKeymap(XkbDescPtr src, XkbDescPtr
}
else {
/* send NewKeyboardNotify if the keycode range changed, else
- * just MapNotify. */
+ * just MapNotify. we also need to send NKN if the geometry
+ * changed (obviously ...). */
if ((src->min_key_code != dst->min_key_code ||
src->max_key_code != dst->max_key_code) && sendNotifies) {
nkn.oldMinKeyCode = dst->min_key_code;
More information about the xorg-commit
mailing list