[cairo] [PATCH] [quartz] The toy font is owned by the implementation, so do not call destroy

Chris Wilson chris at chris-wilson.co.uk
Fri Aug 21 14:29:15 PDT 2009


We were incorrectly calling cairo_font_face_desrtoy() on the implmentation
font face after using to construct the scaled font, but that reference was
in fact still owned by the toy-font. This is most likely the cause of the
numerous crashes that are still being reported with 1.8.8

For example:
  https://bugs.freedesktop.org/show_bug.cgi?id=22685
  https://bugs.freedesktop.org/show_bug.cgi?id=22686
  https://bugs.freedesktop.org/show_bug.cgi?id=22688
  https://bugs.freedesktop.org/show_bug.cgi?id=22689

CC: David Keeler <keelerda at gmail.com>
CC: Jeff Muizelaar <jeff at infidigm.net>
CC: paul at linuxaudiosystems.com
---
 src/cairo-quartz-font.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/src/cairo-quartz-font.c b/src/cairo-quartz-font.c
index 94cc327..4ff3d22 100644
--- a/src/cairo-quartz-font.c
+++ b/src/cairo-quartz-font.c
@@ -391,7 +391,6 @@ _cairo_quartz_font_create_toy (cairo_toy_font_face_t *toy_face,
 							 font_matrix, ctm,
 							 options,
 							 &scaled_font);
-    cairo_font_face_destroy (face);
     if (status)
 	return status;
 
-- 
1.6.3.3



More information about the cairo mailing list