]> granicus.if.org Git - libass/commitdiff
Fallback to non-fontconfig behaviour when fontconfig initialization fails.
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>
Sun, 2 Nov 2008 09:57:22 +0000 (09:57 +0000)
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>
Sun, 2 Nov 2008 09:57:22 +0000 (09:57 +0000)
Also fixes a memleak in that case, bug #1313.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27875 b3059339-0415-0410-9bf9-f77b7e298cf2

libass/ass_fontconfig.c

index fa15087652a00b9a8b04881da4aba4e7fb2021cd..5edbdecaa263cd87c8c0cd0ab2796927a694d660 100644 (file)
@@ -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;