Commit 66e860b5 authored by Benjamin Otte's avatar Benjamin Otte
Browse files

style: Fix drawing of insensitive text

When writing the original code I erroneously assumed that the current
point of the cairo context would be saved by cairo_save/restore(), but
of course the current point is part of the path and therefor isn't
saved.

Also do a cairo_new_path() before rendering any text so that we are sure
the text ends up at the right spot.
parent 08dd02fe
...@@ -4227,13 +4227,14 @@ gtk_default_draw_layout (GtkStyle *style, ...@@ -4227,13 +4227,14 @@ gtk_default_draw_layout (GtkStyle *style,
else else
cairo_translate (cr, x, y); cairo_translate (cr, x, y);
cairo_new_path (cr);
if (state_type == GTK_STATE_INSENSITIVE) if (state_type == GTK_STATE_INSENSITIVE)
{ {
cairo_save (cr);
gdk_cairo_set_source_color (cr, &style->white); gdk_cairo_set_source_color (cr, &style->white);
cairo_move_to (cr, 1, 1); cairo_move_to (cr, 1, 1);
_gtk_pango_fill_layout (cr, layout); _gtk_pango_fill_layout (cr, layout);
cairo_restore (cr); cairo_new_path (cr);
} }
gc = use_text ? &style->text[state_type] : &style->fg[state_type]; gc = use_text ? &style->text[state_type] : &style->fg[state_type];
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment