summaryrefslogtreecommitdiff
path: root/src/fccache.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2002-08-22 07:36:45 +0000
committerKeith Packard <keithp@keithp.com>2002-08-22 07:36:45 +0000
commitd8d7395877238acbc9cd4709e3b4e76f8ca978cb (patch)
treea42da5127fe65b21f43eda64574bd306c7c29355 /src/fccache.c
parentf4fe447f49171d4b0ad69c8efcbadc555f211efa (diff)
downloadfontconfig-d8d7395877238acbc9cd4709e3b4e76f8ca978cb.tar.gz
Reimplement FC_LANG as FcTypeLang, freeze patterns, other cleanup
Diffstat (limited to 'src/fccache.c')
-rw-r--r--src/fccache.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/fccache.c b/src/fccache.c
index f4d6f91..0ff2721 100644
--- a/src/fccache.c
+++ b/src/fccache.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/fontconfig/src/fccache.c,v 1.10 2002/08/06 19:00:43 keithp Exp $
+ * $XFree86: xc/lib/fontconfig/src/fccache.c,v 1.11 2002/08/19 19:32:05 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -247,6 +247,7 @@ FcCacheFontSetAdd (FcFontSet *set,
int len;
FcBool ret = FcFalse;
FcPattern *font;
+ FcPattern *frozen;
path = path_buf;
len = (dir_len + 1 + strlen ((const char *) file) + 1);
@@ -277,10 +278,15 @@ FcCacheFontSetAdd (FcFontSet *set,
{
if (FcDebug () & FC_DBG_CACHEV)
printf (" dir cache file \"%s\"\n", file);
- ret = (FcPatternAddString (font, FC_FILE, path) &&
- FcFontSetAdd (set, font));
- if (!ret)
- FcPatternDestroy (font);
+ ret = FcPatternAddString (font, FC_FILE, path);
+ if (ret)
+ {
+ frozen = FcPatternFreeze (font);
+ ret = (frozen != 0);
+ if (ret)
+ ret = FcFontSetAdd (set, frozen);
+ }
+ FcPatternDestroy (font);
}
}
if (path != path_buf) free (path);