b=467874 only destroy FT_Faces created by cairo. r=vlad

This commit is contained in:
Karl Tomlinson 2008-12-06 12:08:45 +13:00
Родитель 4c344804be
Коммит 17b7625229
3 изменённых файлов: 17 добавлений и 1 удалений

Просмотреть файл

@ -36,6 +36,8 @@ qpainter-type.patch: add SURFACE_TYPE_QPAINTER to cairo.h
wince-fixes.patch: stubs out win32 functions we use but are not supported on win32. Also implements ExtSelectClipRgn in terms of other functions available on wince. wince-fixes.patch: stubs out win32 functions we use but are not supported on win32. Also implements ExtSelectClipRgn in terms of other functions available on wince.
ft-done-face.patch: bug 467874; only destroy FT_Faces created by cairo
==== pixman patches ==== ==== pixman patches ====
endian.patch: include cairo-platform.h for endian macros endian.patch: include cairo-platform.h for endian macros

Просмотреть файл

@ -532,7 +532,8 @@ _has_unlocked_face (void *entry)
{ {
cairo_ft_unscaled_font_t *unscaled = entry; cairo_ft_unscaled_font_t *unscaled = entry;
return (unscaled->lock_count == 0 && unscaled->face); return (unscaled->lock_count == 0 &&
unscaled->face && !unscaled->from_face);
} }
/* Ensures that an unscaled font has a face object. If we exceed /* Ensures that an unscaled font has a face object. If we exceed

Просмотреть файл

@ -0,0 +1,13 @@
diff --git a/gfx/cairo/cairo/src/cairo-ft-font.c b/gfx/cairo/cairo/src/cairo-ft-font.c
--- a/gfx/cairo/cairo/src/cairo-ft-font.c
+++ b/gfx/cairo/cairo/src/cairo-ft-font.c
@@ -532,7 +532,8 @@ _has_unlocked_face (void *entry)
{
cairo_ft_unscaled_font_t *unscaled = entry;
- return (unscaled->lock_count == 0 && unscaled->face);
+ return (unscaled->lock_count == 0 &&
+ unscaled->face && !unscaled->from_face);
}
/* Ensures that an unscaled font has a face object. If we exceed