diff options
Diffstat (limited to 'libass/ass_parse.c')
-rw-r--r-- | libass/ass_parse.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libass/ass_parse.c b/libass/ass_parse.c index 654fa7f9..cac57600 100644 --- a/libass/ass_parse.c +++ b/libass/ass_parse.c @@ -214,13 +214,14 @@ static char *parse_vector_clip(ASS_Renderer *render_priv, char *p) { int scale = 1; int res = 0; - ASS_Drawing *drawing; + ASS_Drawing *drawing = render_priv->state.clip_drawing; - ass_drawing_free(render_priv->state.clip_drawing); + if (drawing && drawing->glyph) + FT_Done_Glyph((FT_Glyph) drawing->glyph); + ass_drawing_free(drawing); render_priv->state.clip_drawing = ass_drawing_new( render_priv->fontconfig_priv, render_priv->state.font, - render_priv->settings.hinting, render_priv->ftlibrary); drawing = render_priv->state.clip_drawing; skipopt('('); |