Mercurial > hg > xemacs-beta
diff src/event-gtk.c @ 3949:33b9323388c5
[xemacs-hg @ 2007-05-12 10:59:15 by aidan]
Zero out device modifier map after freeing it, X11, GTK.
author | aidan |
---|---|
date | Sat, 12 May 2007 10:59:17 +0000 |
parents | ade0c13d91a3 |
children | bc4f2511bbea |
line wrap: on
line diff
--- a/src/event-gtk.c Sat May 12 10:17:09 2007 +0000 +++ b/src/event-gtk.c Sat May 12 10:59:17 2007 +0000 @@ -1863,7 +1863,14 @@ xd->lock_interpretation = 0; if (map) - XFreeModifiermap (map); + { + XFreeModifiermap (xd->x_modifier_keymap); + /* Set it to NULL in case we receive two MappingModifier events in a + row, and the second is processed during some CHECK_QUITs within + x_reset_key_mapping. If that happens, XFreeModifierMap will be + called twice on the same map, and we crash. */ + xd->x_modifier_keymap = NULL; + } gtk_reset_key_mapping (d);