src/gtkimhtml.c

changeset 2065
6267e4b1466f
parent 2048
4ac8b9622c9e
child 2071
fa3fe535a2f9
--- a/src/gtkimhtml.c	Thu Jun 28 19:53:48 2001 +0000
+++ b/src/gtkimhtml.c	Tue Jul 03 19:08:48 2001 +0000
@@ -1541,12 +1541,19 @@
 get_font_names ()
 {
 	gint num_fonts = 0;
-	gchar **xfontnames = XListFonts (GDK_DISPLAY (), "-*", MAX_FONTS, &num_fonts);
-	gchar **fonts = NULL;
+	gchar **xfontnames;
+	static gchar **fonts = NULL;
 	gint i;
 
-	if (!num_fonts)
+	if (fonts)
+		return fonts;
+
+	xfontnames = XListFonts (GDK_DISPLAY (), "-*", MAX_FONTS, &num_fonts);
+
+	if (!num_fonts) {
+		XFreeFontNames(xfontnames);
 		return g_new0 (char *, 1);
+	}
 
 	fonts = g_new0 (char *, num_fonts + 1);
 
@@ -1566,6 +1573,7 @@
 		fonts [i] = g_strndup (t1, (long) t2 - (long) t1);
 	}
 
+	XFreeFontNames(xfontnames);
 	return fonts;
 }
 

mercurial