[gtk+] window: Use CAIRO_OPERATOR_SOURCE to clear to background



commit 3878519449d3ca81c42feff6f58a6fdcd34bbb6b
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Mon Jul 14 18:58:27 2014 -0400

    window: Use CAIRO_OPERATOR_SOURCE to clear to background
    
    Some windows, like GtkWindow and some other apps, set a transparent
    background. The guarantee for begin_paint_region is that there should
    be a full clear to the specified background color, not a composite
    against what was there before.
    
    This fixes repaint artifacts in Wayland and Weston in a better way than
    76922c169f0699d9b85ef3eff2170f2cede1782c.

 gdk/gdkwindow.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
---
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 2ae5a69..04e3d0a 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -2974,6 +2974,7 @@ gdk_window_clear_backing_region (GdkWindow *window)
   else
     cairo_set_source_rgb (cr, 0, 0, 0);
 
+  cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
   gdk_cairo_region (cr, window->current_paint.region);
   cairo_fill (cr);
 


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