StThemeNodeDrawing: Ignore border fill in interior

We need to be careful to ignore any preexisting color information
in the interior of the node when filling it with the background color,
since the border color may have leaked into the interior and the
background color may be translucent.

https://bugzilla.gnome.org/show_bug.cgi?id=640465
This commit is contained in:
Ray Strode 2011-01-24 16:23:16 -05:00
parent 7d77802ba1
commit 0e23ec394e

View File

@ -939,12 +939,15 @@ st_theme_node_render_background_with_border (StThemeNode *node)
if (draw_solid_background)
{
cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
cairo_set_source_rgba (cr,
node->background_color.red / 255.,
node->background_color.green / 255.,
node->background_color.blue / 255.,
node->background_color.alpha / 255.);
cairo_fill_preserve (cr);
cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
}
if (draw_background_image_shadow)