}
}
+static void ass_free_images(ass_image_t *img);
+
void ass_renderer_done(ass_renderer_t *render_priv)
{
ass_font_cache_done(render_priv->cache.font_cache);
ass_bitmap_cache_done(render_priv->cache.bitmap_cache);
ass_composite_cache_done(render_priv->cache.composite_cache);
ass_glyph_cache_done(render_priv->cache.glyph_cache);
+
+ ass_free_images(render_priv->images_root);
+ ass_free_images(render_priv->prev_images_root);
+
if (render_priv->state.stroker) {
FT_Stroker_Done(render_priv->state.stroker);
render_priv->state.stroker = 0;
ass_synth_done(render_priv->synth_priv);
if (render_priv && render_priv->eimg)
free(render_priv->eimg);
- free(render_priv);
free(render_priv->text_info.glyphs);
free(render_priv->text_info.lines);
free(render_priv->settings.default_family);
free_list_clear(render_priv);
+ free(render_priv);
}
/**
(render_priv->state.style->StrikeOut ? DECO_STRIKETHROUGH : 0);
render_priv->state.font_size = render_priv->state.style->FontSize;
- if (render_priv->state.family)
- free(render_priv->state.family);
+ free(render_priv->state.family);
+ render_priv->state.family = NULL;
render_priv->state.family = strdup(render_priv->state.style->FontName);
render_priv->state.treat_family_as_pattern =
render_priv->state.style->treat_fontname_as_pattern;
static void free_render_context(ass_renderer_t *render_priv)
{
+ free(render_priv->state.family);
ass_drawing_free(render_priv->state.drawing);
+
+ render_priv->state.family = NULL;
+ render_priv->state.drawing = NULL;
}
// Calculate the cbox of a series of points