From cd0cfa32d2df699a79a0ef72b011216f409dbf47 Mon Sep 17 00:00:00 2001 From: Grigori Goronzy Date: Wed, 16 Feb 2011 20:31:15 +0100 Subject: [PATCH] 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. --- libass/ass_drawing.c | 10 ++++++---- libass/ass_fontconfig.c | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) 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); -- 2.50.1