Fix warning about deprecated, non-existent config includes

Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 8: reading configurations from ~/.fonts.conf.d is deprecated.

Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.

Be polite and do not issue the warning if deprecated config includes
(e.g. ~/.fonts.conf.d and/or ~/.fonts.conf) do not exist.
This commit is contained in:
Marius Tolzmann 2012-06-21 21:01:10 +02:00 committed by Akira TAGOH
parent 3a5e9bc75d
commit e5a59eac90
1 changed files with 13 additions and 3 deletions

View File

@ -2042,6 +2042,7 @@ FcParseInclude (FcConfigParse *parse)
FcChar8 *s; FcChar8 *s;
const FcChar8 *attr; const FcChar8 *attr;
FcBool ignore_missing = FcFalse; FcBool ignore_missing = FcFalse;
FcBool deprecated = FcFalse;
FcChar8 *prefix = NULL; FcChar8 *prefix = NULL;
s = FcStrBufDoneStatic (&parse->pstack->str); s = FcStrBufDoneStatic (&parse->pstack->str);
@ -2053,6 +2054,9 @@ FcParseInclude (FcConfigParse *parse)
attr = FcConfigGetAttribute (parse, "ignore_missing"); attr = FcConfigGetAttribute (parse, "ignore_missing");
if (attr && FcConfigLexBool (parse, (FcChar8 *) attr) == FcTrue) if (attr && FcConfigLexBool (parse, (FcChar8 *) attr) == FcTrue)
ignore_missing = FcTrue; ignore_missing = FcTrue;
attr = FcConfigGetAttribute (parse, "deprecated");
if (attr && FcConfigLexBool (parse, (FcChar8 *) attr) == FcTrue)
deprecated = FcTrue;
attr = FcConfigGetAttribute (parse, "prefix"); attr = FcConfigGetAttribute (parse, "prefix");
if (attr && FcStrCmp (attr, (const FcChar8 *)"xdg") == 0) if (attr && FcStrCmp (attr, (const FcChar8 *)"xdg") == 0)
prefix = FcConfigXdgConfigHome (); prefix = FcConfigXdgConfigHome ();
@ -2078,9 +2082,15 @@ FcParseInclude (FcConfigParse *parse)
parse->error = FcTrue; parse->error = FcTrue;
else else
{ {
attr = FcConfigGetAttribute (parse, "deprecated"); FcChar8 *filename;
if (attr && FcConfigLexBool (parse, (FcChar8 *) attr) == FcTrue)
FcConfigMessage (parse, FcSevereWarning, "reading configurations from %s is deprecated.", s); filename = FcConfigFilename(s);
if ((deprecated == FcTrue) && filename)
{
FcConfigMessage (parse, FcSevereWarning, "reading configurations from %s is deprecated.", s);
}
if(filename)
FcStrFree(filename);
} }
FcStrBufDestroy (&parse->pstack->str); FcStrBufDestroy (&parse->pstack->str);