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 | 1ae7149c080752e13abb4e0c67f117216966c742 (patch) | |
tree | 86e8e3788fb64b245cd74bf82ab6add5eef6dffc | |
parent | bce49a37d49013607cd3f140d12d2f1784bb4315 (diff) | |
download | mpv-1ae7149c080752e13abb4e0c67f117216966c742.tar.bz2 mpv-1ae7149c080752e13abb4e0c67f117216966c742.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
-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 fa15087652..5edbdecaa2 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; |