summaryrefslogtreecommitdiffstats
path: root/libass/ass_parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_parse.c')
-rw-r--r--libass/ass_parse.c7
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('(');