diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-11-02 09:57:22 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-11-02 09:57:22 +0000 |
commit | c6012a37793663082049bfdcec711ae9ddd2b740 (patch) | |
tree | 2ab11ac4880832f1015e912ab8870bc0f8f809c7 /libass/ass_fontconfig.c | |
parent | 48b386f5d35e08e315f11457fa628d8ffce69daa (diff) | |
download | libass-c6012a37793663082049bfdcec711ae9ddd2b740.tar.bz2 libass-c6012a37793663082049bfdcec711ae9ddd2b740.tar.xz |
Fallback to non-fontconfig behaviour when fontconfig initialization fails.
Also fixes a memleak in that case, bug #1313.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27875 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libass/ass_fontconfig.c')
-rw-r--r-- | libass/ass_fontconfig.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/libass/ass_fontconfig.c b/libass/ass_fontconfig.c index fa150876..5edbdeca 100644 --- a/libass/ass_fontconfig.c +++ b/libass/ass_fontconfig.c @@ -407,10 +407,7 @@ fc_instance_t* fontconfig_init(ass_library_t* library, FT_Library ftlibrary, con if (!fc) { mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_FontconfigDisabledDefaultFontWillBeUsed); - priv->config = NULL; - priv->path_default = strdup(path); - priv->index_default = 0; - return priv; + goto exit; } rc = FcInit(); @@ -419,7 +416,7 @@ fc_instance_t* fontconfig_init(ass_library_t* library, FT_Library ftlibrary, con priv->config = FcConfigGetCurrent(); if (!priv->config) { mp_msg(MSGT_ASS, MSGL_FATAL, MSGTR_LIBASS_FcInitLoadConfigAndFontsFailed); - return 0; + goto exit; } for (i = 0; i < library->num_fontdata; ++i) @@ -468,6 +465,7 @@ fc_instance_t* fontconfig_init(ass_library_t* library, FT_Library ftlibrary, con } priv->family_default = family ? strdup(family) : 0; +exit: priv->path_default = path ? strdup(path) : 0; priv->index_default = 0; |