From 83d1bd9f37da93fbdc586788b6891d0eccdb7cee Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Tue, 23 Mar 2010 20:04:10 +0000 Subject: [PATCH] script: Manually unlink font entries upon destruction As the device is already finished, we can not lock it without raising an error, so we have to open code the destruction of the font entries. Fortunately we can make several simplifying assumptions about the required cleanup as we know the device is also being destroyed. --- src/cairo-script-surface.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cairo-script-surface.c b/src/cairo-script-surface.c index d07ce815c..a4a3f1d2b 100644 --- a/src/cairo-script-surface.c +++ b/src/cairo-script-surface.c @@ -1772,7 +1772,9 @@ _device_destroy (void *abstract_device) cairo_script_surface_font_private_t, link); cairo_list_del (&font->link); - _cairo_script_surface_scaled_font_fini (font->parent); + if (font->parent->surface_private == font) + font->parent->surface_private = NULL; + free (font); } while (! cairo_list_is_empty (&ctx->defines)) {