diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-02-15 21:27:29 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-02-24 20:00:17 +0000 |
commit | 6eb0a9d97ff7eaaee69ca10e4081cb950a543ce3 (patch) | |
tree | 0771f69998a71f5cfd866a252a1d8373d5d3f3a7 /src/cairo-scaled-font-private.h | |
parent | fe7d5323f5bc734e76179b74d68fcba9b924ba94 (diff) |
[scaled-font] Hold reference to original font face
As noted by Carl during his LCA talk, caching of toy fonts was broken
because we create the scaled font using the implementation font face and
lose the reference to the containing font face that is cached by the toy
font face create routines. So the toy fonts were not being preserved for
the duration of the holdover scaled fonts and we recreated a new font
face, new scaled font and new glyph caches every time we needed a font.
Diffstat (limited to 'src/cairo-scaled-font-private.h')
-rw-r--r-- | src/cairo-scaled-font-private.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cairo-scaled-font-private.h b/src/cairo-scaled-font-private.h index 13d89ebe..89820c8f 100644 --- a/src/cairo-scaled-font-private.h +++ b/src/cairo-scaled-font-private.h @@ -84,6 +84,8 @@ struct _cairo_scaled_font { cairo_reference_count_t ref_count; cairo_user_data_array_t user_data; + cairo_font_face_t *original_font_face; /* may be NULL */ + /* hash key members */ cairo_font_face_t *font_face; /* may be NULL */ cairo_matrix_t font_matrix; /* font space => user space */ |