XFree96 3.1.3Dc - xterm patch #12 - T.Dickey
 
This corrects a memory leak in xterm that happens whenever one switches fonts.
 
--- /build/x11r6/XFree86-current/xc/programs/xterm/charproc.c.orig      Mon Mar 11 13:48:46 1996
 +++ /build/x11r6/XFree86-current/xc/programs/xterm/charproc.c   Sat Mar 16 08:48:26 1996
 @@ -3632,8 +3632,20 @@
      screen->normalboldGC = new_normalboldGC;
     screen->reverseGC = new_reverseGC;
     screen->reverseboldGC = new_reverseboldGC;
+
+    /* If we're switching fonts, free the old ones.  Otherwise we'll leak the
 +     * memory that is associated with the old fonts. The XLoadQueryFont call
 +     * allocates a new XFontStruct.
 +     */
+    if (screen->fnt_bold != 0
 +     && screen->fnt_bold != screen->fnt_norm)
 +       XFreeFont(screen->display, screen->fnt_bold);
 +    if (screen->fnt_norm != 0)
 +       XFreeFont(screen->display, screen->fnt_norm);
 +
     screen->fnt_norm = nfs;
     screen->fnt_bold = bfs;
+
     screen->enbolden = (nfs == bfs);
     set_menu_font (False);
     screen->menu_font_number = fontnum;