[gtk+] gdk: When using OPERATOR_SOURCE, use clip + paint instead of fill



commit ca7d3f90819246986e33e03ca354f1843eac5b5a
Author: Benjamin Otte <otte redhat com>
Date:   Sat Aug 14 01:46:04 2010 +0200

    gdk: When using OPERATOR_SOURCE, use clip + paint instead of fill
    
    SOURCE is unbounded, so we clear unwanted areas.

 gdk/gdkwindow.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index e8e3723..4324294 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -2831,11 +2831,12 @@ gdk_window_end_implicit_paint (GdkWindow *window)
 
       /* Some regions are valid, push these to window now */
       cr = gdk_cairo_create (private->impl);
+      gdk_cairo_region (cr, paint->region);
+      cairo_clip (cr);
       gdk_cairo_set_source_pixmap (cr, paint->pixmap,
                                    paint->x_offset, paint->y_offset);
       cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-      gdk_cairo_region (cr, paint->region);
-      cairo_fill (cr);
+      cairo_paint (cr);
       cairo_destroy (cr);
     }
   



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