[Fontconfig] fontconfig: Branch 'master'

Keith Packard keithp at kemper.freedesktop.org
Mon Sep 4 23:20:19 PDT 2006


 src/fccache.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)

New commits:
diff-tree 323ecd0cd3b8eeb50c4af87d57f2ea7b19f37215 (from afe5a6716058e4b952a6ec1ab3f328a1c069a8c4)
Author: Keith Packard <keithp at neko.keithp.com>
Date:   Mon Sep 4 23:19:59 2006 -0700

    Correct reference count when sharing cache file objects.
    
    Multiple maps of the same cache file share the same mapped object; bump the
    cache object reference count in this case

diff --git a/src/fccache.c b/src/fccache.c
index 77a303d..32c36bd 100644
--- a/src/fccache.c
+++ b/src/fccache.c
@@ -331,7 +331,6 @@ FcCacheRemove (FcCache *cache)
         update[i] = &next[i];
     }
     s = next[0];
-    assert (s->cache == cache);
     for (i = 0; i < fcCacheMaxLevel && *update[i] == s; i++)
 	*update[i] = s->next[i];
     while (fcCacheMaxLevel > 0 && fcCacheChains[fcCacheMaxLevel - 1] == NULL)
@@ -348,7 +347,10 @@ FcCacheFindByStat (struct stat *cache_st
 	if (s->cache_dev == cache_stat->st_dev &&
 	    s->cache_ino == cache_stat->st_ino &&
 	    s->cache_mtime == cache_stat->st_mtime)
+	{
+	    s->ref++;
 	    return s->cache;
+	}
     return NULL;
 }
 


More information about the Fontconfig mailing list