CVS: rdesktop xkeymap.c,1.71,1.72
Peter Åstrand <[email protected]>
| Newsgroups | gmane.network.rdesktop.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/rdesktop/rdesktop
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4259
Modified Files:
xkeymap.c
Log Message:
Free mem before assigning new objects to keymap.
Index: xkeymap.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/xkeymap.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -C2 -d -r1.71 -r1.72
*** xkeymap.c 2 Aug 2005 15:07:34 -0000 1.71
--- xkeymap.c 2 Aug 2005 18:07:56 -0000 1.72
***************
*** 55,58 ****
--- 55,72 ----
static void update_modifier_state(uint8 scancode, BOOL pressed);
+ /* Free key_translation structure, included linked list */
+ void
+ free_key_translation(key_translation * ptr)
+ {
+ key_translation *next;
+
+ while (ptr)
+ {
+ next = ptr->next;
+ xfree(ptr);
+ ptr = next;
+ }
+ }
+
static void
add_to_keymap(char *keyname, uint8 scancode, uint16 modifiers, char *mapname)
***************
*** 75,78 ****
--- 89,93 ----
tr->scancode = scancode;
tr->modifiers = modifiers;
+ free_key_translation(keymap[keysym & KEYMAP_MASK]);
keymap[keysym & KEYMAP_MASK] = tr;
***************
*** 107,110 ****
--- 122,126 ----
DEBUG_KBD(("Adding sequence for keysym (0x%lx, %s) -> ", keysym, keyname));
+ free_key_translation(keymap[keysym & KEYMAP_MASK]);
prev_next = &keymap[keysym & KEYMAP_MASK];
***************
*** 140,144 ****
}
-
static BOOL
xkeymap_read(char *mapname)
--- 156,159 ----
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click