]> git.wh0rd.org - fontconfig.git/blobdiff - src/fcpat.c
Reference count cache objects.
[fontconfig.git] / src / fcpat.c
index 9cd01a02a9303c10ed0d9c578ed850b5d7df8dda..a225717370bcd8d043b76387a252afe59e5ab782 100644 (file)
@@ -282,7 +282,13 @@ FcPatternDestroy (FcPattern *p)
     int                    i;
     FcPatternElt    *elts;
     
-    if (p->ref == FC_REF_CONSTANT || --p->ref > 0)
+    if (p->ref == FC_REF_CONSTANT)
+    {
+       FcCacheObjectDereference (p);
+       return;
+    }
+       
+    if (--p->ref > 0)
        return;
 
     elts = FcPatternElts (p);
@@ -938,6 +944,8 @@ FcPatternReference (FcPattern *p)
 {
     if (p->ref != FC_REF_CONSTANT)
        p->ref++;
+    else
+       FcCacheObjectReference (p);
 }
 
 FcPattern *