]> git.wh0rd.org - fontconfig.git/blobdiff - src/fccfg.c
Make cache reference counting more efficient.
[fontconfig.git] / src / fccfg.c
index 1139744c04ec5f7dc01c82e810076601c93277fd..d9502f0d341f691deaa5b3c1825f6924bb1908f5 100644 (file)
@@ -239,6 +239,8 @@ FcConfigAddCache (FcConfig *config, FcCache *cache)
     fs = FcCacheSet (cache);
     if (fs)
     {
+       int     nref = 0;
+       
        for (i = 0; i < fs->nfont; i++)
        {
            FcPattern   *font = FcFontSetFont (fs, i);
@@ -260,9 +262,10 @@ FcConfigAddCache (FcConfig *config, FcCache *cache)
            if (!FcConfigAcceptFont (config, font))
                continue;
                
-           FcPatternReference (font);
+           nref++;
            FcFontSetAdd (config->fonts[FcSetSystem], font);
        }
+       FcDirCacheReference (cache, nref);
     }
 
     /*