diff options
author | Grigori Goronzy <greg@blackbox> | 2009-07-22 22:49:55 +0200 |
---|---|---|
committer | Grigori Goronzy <greg@blackbox> | 2009-07-22 22:52:31 +0200 |
commit | b3bcb8e120d1a15f258211e78346407e9a2b35d2 (patch) | |
tree | e825cc446bb9abc89907aca0a7de21e254fad213 | |
parent | 36cb0c6eaa0237baec7e834f0da6e94ec1153beb (diff) | |
download | libass-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.c | 10 |
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; } |