[gtk+] Fix cairo rendering on large subwindows



commit a504784b4b458d32e770cab3c0e48229552652a5
Author: Alexander Larsson <alexl redhat com>
Date:   Fri Jul 24 21:41:37 2009 +0200

    Fix cairo rendering on large subwindows
    
    We get the real pixmap size and use as cairo surface size rather
    than doing some magic to try to get clipping on the right hand size
    (and the magic looks wrong anyway).
    
    The previous code could result in the width/height being to big for
    the cairo 28.4 fix point size and thus not drawing anything.
    
    This fixes bug #588076.

 gdk/gdkwindow.c |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)
---
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 374a69c..754bf6e 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -2501,13 +2501,8 @@ gdk_window_begin_paint_region (GdkWindow       *window,
       paint->x_offset = -private->abs_x + implicit_paint->x_offset;
       paint->y_offset = -private->abs_y + implicit_paint->y_offset;
 
-      /* It would be nice if we had some cairo support here so we
-	 could set the clip rect on the cairo surface */
-      width = private->abs_x + private->width;
-      height = private->abs_y + private->height;
-
+      gdk_drawable_get_size (paint->pixmap, &width, &height);
       paint->surface = _gdk_drawable_create_cairo_surface (paint->pixmap, width, height);
-
     }
   else
     {



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