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