From fde3c836628b6cdec3e5d107d6b1b99bc8b86912 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Sun, 13 Apr 2008 17:08:51 +0930 Subject: [PATCH] Xi: copy the KeySyms.map over from the source. --- Xi/exevents.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Xi/exevents.c b/Xi/exevents.c index aee78c669..2a7afa9d4 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -462,6 +462,15 @@ DeepCopyDeviceClasses(DeviceIntPtr from, DeviceIntPtr to) memcpy(to->key, from->key, sizeof(KeyClassRec)); + if (!oldMap) /* newly created key struct */ + { + int bytes = (to->key->curKeySyms.maxKeyCode - + to->key->curKeySyms.minKeyCode + 1) * + to->key->curKeySyms.mapWidth; + oldMap = (KeySym *)xcalloc(sizeof(KeySym), bytes); + memcpy(oldMap, from->key->curKeySyms.map, bytes); + } + to->key->modifierKeyMap = oldModKeyMap; to->key->curKeySyms.map = oldMap; #ifdef XKB