[gnome-shell] StThemeNodeDrawing: Ignore border fill in interior



commit 0e23ec394e884e2af8e53bd7580c873bd9b2c137
Author: Ray Strode <rstrode redhat com>
Date:   Mon Jan 24 16:23:16 2011 -0500

    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

 src/st/st-theme-node-drawing.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/src/st/st-theme-node-drawing.c b/src/st/st-theme-node-drawing.c
index 409fbd4..088ab48 100644
--- a/src/st/st-theme-node-drawing.c
+++ b/src/st/st-theme-node-drawing.c
@@ -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)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]