From ca7d3f90819246986e33e03ca354f1843eac5b5a Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sat, 14 Aug 2010 01:46:04 +0200 Subject: [PATCH] gdk: When using OPERATOR_SOURCE, use clip + paint instead of fill SOURCE is unbounded, so we clear unwanted areas. --- gdk/gdkwindow.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index e8e3723b01..43242944cc 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); }