diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | pango/pangocairo-render.c | 19 |
2 files changed, 26 insertions, 0 deletions
@@ -1,5 +1,12 @@ 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! + +2006-07-10 Behdad Esfahbod <behdad@gnome.org> + Bug 163677 – pango_attr_list_splice: inconsistent docs Patch from Morten Welinder 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); |