Don't call FcPatternGetCharSet in FcSortWalk unless we need to (#17361)

This commit is contained in:
Behdad Esfahbod 2008-09-22 18:51:11 -04:00
parent 799691c901
commit 355ed50b18
1 changed files with 32 additions and 25 deletions

View File

@ -590,9 +590,17 @@ FcSortWalk (FcSortNode **n, int nnode, FcFontSet *fs, FcCharSet **cs, FcBool tri
while (nnode--)
{
node = *n++;
if (FcPatternGetCharSet (node->pattern, FC_CHARSET, 0, &ncs) ==
FcResultMatch)
/*
* Only fetch node charset if we'd need it
*/
if (trim || build_cs)
{
if (FcPatternGetCharSet (node->pattern, FC_CHARSET, 0, &ncs) !=
FcResultMatch)
continue;
}
/*
* If this font isn't a subset of the previous fonts,
* add it to the list
@ -619,7 +627,6 @@ FcSortWalk (FcSortNode **n, int nnode, FcFontSet *fs, FcCharSet **cs, FcBool tri
}
}
}
}
return FcTrue;
}