diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2006-07-10 20:23:41 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2006-07-10 20:23:41 +0000 |
commit | bd0dcaf874333fa30660ea8d109a274eb45b0e7e (patch) | |
tree | 3fe0b23208366e218ab0a0d52f2cdce7726786d0 /pango | |
parent | a3c061607593b0e89d83d1a299efec6544a3f9f9 (diff) | |
download | pango-bd0dcaf874333fa30660ea8d109a274eb45b0e7e.tar.gz |
Bug 315599 – PangoAttribute remains in wrong context.
2006-07-10 Behdad Esfahbod <behdad@gnome.org>
Bug 315599 – PangoAttribute remains in wrong context.
* pango/pangocairo-render.c (_pango_cairo_do_glyph_string): Rever my
commit that removed Owen's fix from last year!
Diffstat (limited to 'pango')
-rw-r--r-- | pango/pangocairo-render.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pango/pangocairo-render.c b/pango/pangocairo-render.c index fb391f71..7b7b59ac 100644 --- a/pango/pangocairo-render.c +++ b/pango/pangocairo-render.c @@ -422,8 +422,27 @@ _pango_cairo_do_glyph_string (cairo_t *cr, crenderer->cr = cr; crenderer->do_path = do_path; cairo_get_current_point (cr, &crenderer->x_offset, &crenderer->y_offset); + + if (!do_path) + { + /* unset all part colors, since when drawing just a glyph string, + * prepare_run() isn't called. + */ + + pango_renderer_activate (renderer); + + pango_renderer_set_color (renderer, PANGO_RENDER_PART_FOREGROUND, NULL); + pango_renderer_set_color (renderer, PANGO_RENDER_PART_BACKGROUND, NULL); + pango_renderer_set_color (renderer, PANGO_RENDER_PART_UNDERLINE, NULL); + pango_renderer_set_color (renderer, PANGO_RENDER_PART_STRIKETHROUGH, NULL); + } pango_renderer_draw_glyphs (renderer, font, glyphs, 0, 0); + + if (!do_path) + { + pango_renderer_deactivate (renderer); + } if (G_UNLIKELY (unref_renderer)) g_object_unref (renderer); |