Make FcPatternDuplicate copy the binding instead of always using Strong.

I noticed that Qt always uses a different font than fc-match advertises.
Debugging the issue, I found that a call that looks pretty innocent is
changing all weak bindings to strong bindings and as such changes the
semantic of the match: FcPatternDuplicate.
This commit is contained in:
Stephan Kulow 2007-03-12 10:21:35 -07:00 committed by Keith Packard
parent 2373f90426
commit 9b74b78fe8
1 changed files with 7 additions and 3 deletions

View File

@ -925,10 +925,14 @@ FcPatternDuplicate (const FcPattern *orig)
for (i = 0; i < orig->num; i++)
{
for (l = FcPatternEltValues(e + i); l; l = FcValueListNext(l))
if (!FcPatternObjectAdd (new, e[i].object,
FcValueCanonicalize(&l->value),
FcTrue))
{
if (!FcPatternObjectAddWithBinding (new, e[i].object,
FcValueCanonicalize(&l->value),
l->binding,
FcTrue))
goto bail1;
}
}
return new;