127ea55
--- magicpoint-1.11b/draw.c.64bit	2006-10-21 13:29:24.000000000 +0200
127ea55
+++ magicpoint-1.11b/draw.c	2006-10-21 13:27:28.000000000 +0200
127ea55
@@ -4884,8 +4884,8 @@
127ea55
 	char *registry;
127ea55
 {
127ea55
 	char *xfont;
127ea55
-	static XftFont *last_xftfont;
127ea55
-	static char lastfont[100];
127ea55
+	static XftFont *last_xftfont = NULL;
127ea55
+	static char lastfont[100] = "";
127ea55
 	static int lastsize = 0;
127ea55
 	XftFont *xftfont;
127ea55
 	char *p, *p2;
127ea55
@@ -4934,12 +4934,12 @@
127ea55
 		    XFT_FAMILY, XftTypeString, font,
127ea55
 		    XFT_ENCODING, XftTypeString, registry,
127ea55
 		    XFT_STYLE, XftTypeString, style,
127ea55
-		    XFT_PIXEL_SIZE, XftTypeDouble, (float)csize, 0);
127ea55
+		    XFT_PIXEL_SIZE, XftTypeDouble, (double)csize, NULL);
127ea55
 	} else {
127ea55
 		xftfont = XftFontOpen(display, screen,
127ea55
 		    XFT_FAMILY, XftTypeString, font,
127ea55
 		    XFT_ENCODING, XftTypeString, registry,
127ea55
-		    XFT_PIXEL_SIZE, XftTypeDouble, (float)csize, 0);
127ea55
+		    XFT_PIXEL_SIZE, XftTypeDouble, (double)csize, NULL);
127ea55
 	}
127ea55
 	if (xftfont == 0) {
127ea55
 		free(xfont);
127ea55
@@ -4950,6 +4950,9 @@
127ea55
 		fprintf(stderr, "using xftfont [%s] size: %d\n", lastfont,
127ea55
 		    csize);
127ea55
 	}
127ea55
+	if (last_xftfont)
127ea55
+		XftFontClose(display, last_xftfont);
127ea55
+	
127ea55
 	lastsize = csize;
127ea55
 	last_xftfont = xftfont;
127ea55
 	free(xfont);