[cairo-bugs] [Bug 21706] zombie ft_font_face / ft_unscaled_font mutual referencing problems
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Fri May 15 13:39:40 PDT 2009
http://bugs.freedesktop.org/show_bug.cgi?id=21706
--- Comment #3 from Chris Wilson <chris at chris-wilson.co.uk> 2009-05-15 13:39:38 PST ---
I extended test/ft-font-create-for-face and was able to reproduce the leak but
not the potential crash. As the patch caused no other side effects, I've pushed
it to master:
commit 0238fe2cafea2e1ed19bb222117bd73ee6898d4d
Author: Karl Tomlinson <karlt+ at karlt.net>
Date: Thu May 14 11:46:29 2009 +0100
[ft] Resolve mutual referencing problems with zombie faces
I tried to find a test case to exercise:
_cairo_ft_font_face_create()
if (font_face->unscaled == NULL) {
/* Resurrect this "zombie" font_face (from
* _cairo_ft_font_face_destroy), switching its unscaled_font
* from owner to ownee. */
font_face->unscaled = unscaled;
_cairo_unscaled_font_reference (&unscaled->base);
return &font_face->base;
}
and
if (unscaled->faces && unscaled->faces->unscaled == NULL) {
/* This "zombie" font_face (from _cairo_ft_font_face_destroy)
* is no longer needed. */
assert (unscaled->from_face && unscaled->faces->next == NULL);
cairo_font_face_destroy (&unscaled->faces->base);
unscaled->faces = NULL;
}
to no avail. Also I tried the test.html in the firefox bug report but saw no
evidence that it even tried to use cairo_ft_font_create_for_face() - which is
probably just user error on my part.
If you can identify a simple test case, or even trace, to reproduce the crash
that would be very useful. Thanks.
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the cairo-bugs
mailing list