From: Grigori Goronzy Date: Wed, 16 Feb 2011 19:31:15 +0000 (+0100) Subject: Fix fontconfig disabled at runtime X-Git-Tag: 0.9.12~9 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cd0cfa32d2df699a79a0ef72b011216f409dbf47;p=libass Fix fontconfig disabled at runtime MPlayer is able to use this configuration with the -nofontconfig flag; this fixes crashes in case no font is available. Fixes a crash at uninit as well. --- diff --git a/libass/ass_drawing.c b/libass/ass_drawing.c index 93cc458..940c66b 100644 --- a/libass/ass_drawing.c +++ b/libass/ass_drawing.c @@ -118,9 +118,10 @@ static void drawing_finish(ASS_Drawing *drawing, int raw_mode) // Close the last contour drawing_close_shape(drawing); - ass_msg(drawing->library, MSGL_V, - "Parsed drawing with %d points and %d contours", ol->n_points, - ol->n_contours); + if (drawing->library) + ass_msg(drawing->library, MSGL_V, + "Parsed drawing with %d points and %d contours", ol->n_points, + ol->n_contours); if (raw_mode) return; @@ -367,7 +368,8 @@ ASS_Drawing *ass_drawing_new(void *fontconfig_priv, ASS_Font *font, drawing->fontconfig_priv = fontconfig_priv; drawing->font = font; drawing->ftlibrary = lib; - drawing->library = font->library; + if (font) + drawing->library = font->library; drawing->scale_x = 1.; drawing->scale_y = 1.; diff --git a/libass/ass_fontconfig.c b/libass/ass_fontconfig.c index 2571739..33ef976 100644 --- a/libass/ass_fontconfig.c +++ b/libass/ass_fontconfig.c @@ -522,7 +522,8 @@ void fontconfig_done(FCInstance *priv) if (priv) { #ifdef CONFIG_FONTCONFIG - FcConfigDestroy(priv->config); + if (priv->config) + FcConfigDestroy(priv->config); #endif free(priv->path_default); free(priv->family_default);