X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=src%2Ffcpat.c;h=a225717370bcd8d043b76387a252afe59e5ab782;hb=9e612141df7e693ef98071f102cecb5d777ceecb;hp=9cd01a02a9303c10ed0d9c578ed850b5d7df8dda;hpb=8fe2104a1e5771ac8079a438fa21e00f946be8b3;p=fontconfig.git diff --git a/src/fcpat.c b/src/fcpat.c index 9cd01a0..a225717 100644 --- a/src/fcpat.c +++ b/src/fcpat.c @@ -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 *