diff src/w32fns.c @ 32721:0574ffc14f77

(w32_load_system_font): Call w32_cache_char_metrics. (w32_unload_font): Free per_char array if present.
author Andrew Innes <andrewi@gnu.org>
date Sat, 21 Oct 2000 13:29:45 +0000
parents 092d2df2a6c3
children 43fa65d08292
line wrap: on
line diff
--- a/src/w32fns.c	Sat Oct 21 13:26:41 2000 +0000
+++ b/src/w32fns.c	Sat Oct 21 13:29:45 2000 +0000
@@ -5430,6 +5430,7 @@
       return NULL;
 
     font = (XFontStruct *) xmalloc (sizeof (XFontStruct));
+    bzero (font, sizeof (*font));
 
     /* Set bdf to NULL to indicate that this is a Windows font.  */
     font->bdf = NULL;
@@ -5464,6 +5465,8 @@
                                ? VARIABLE_PITCH : FIXED_PITCH);
         lf.lfOutPrecision = ((font->tm.tmPitchAndFamily & TMPF_VECTOR)
                              ? OUT_STROKE_PRECIS : OUT_STRING_PRECIS);
+
+	w32_cache_char_metrics (font);
       }
 
     UNBLOCK_INPUT;
@@ -5592,6 +5595,7 @@
 {
   if (font) 
     {
+      if (font->per_char) xfree (font->per_char);
       if (font->bdf) w32_free_bdf_font (font->bdf);
 
       if (font->hfont) DeleteObject(font->hfont);