summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2009-07-22 22:49:55 +0200
committerGrigori Goronzy <greg@blackbox>2009-07-22 22:52:31 +0200
commitb3bcb8e120d1a15f258211e78346407e9a2b35d2 (patch)
treee825cc446bb9abc89907aca0a7de21e254fad213
parent36cb0c6eaa0237baec7e834f0da6e94ec1153beb (diff)
downloadlibass-b3bcb8e120d1a15f258211e78346407e9a2b35d2.tar.bz2
libass-b3bcb8e120d1a15f258211e78346407e9a2b35d2.tar.xz
Fallback to default fontconfig configuration
If parsing or loading the fontconfig configuration file, either using the default or a specified one, fails, try to load the default fontconfig configuration. This triggers loading a fallback configuration if no configuration file is available at all. A warning message is emitted to notify the user about this.
-rw-r--r--libass/ass_fontconfig.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/libass/ass_fontconfig.c b/libass/ass_fontconfig.c
index 4eee197..1201daa 100644
--- a/libass/ass_fontconfig.c
+++ b/libass/ass_fontconfig.c
@@ -453,12 +453,20 @@ fc_instance_t *fontconfig_init(ass_library_t *library,
priv->config = FcConfigCreate();
rc = FcConfigParseAndLoad(priv->config, (unsigned char *) config, FcTrue);
+ if (!rc) {
+ ass_msg(library, MSGL_WARN, "No usable fontconfig configuration "
+ "file found, using fallback.");
+ FcConfigDestroy(priv->config);
+ priv->config = FcInitLoadConfig();
+ rc++;
+ }
if (rc && update) {
FcConfigBuildFonts(priv->config);
}
if (!rc || !priv->config) {
- ass_msg(library, MSGL_FATAL, "%s failed", "FcInitLoadConfigAndFonts");
+ ass_msg(library, MSGL_FATAL,
+ "No valid fontconfig configuration found!");
FcConfigDestroy(priv->config);
goto exit;
}