[libgnomecanvas] Make the paint method work on Quartz too. Patch from Paul Davis. Closes bug #586697



commit 4cc6deed269f19a3a5818c68bfc36f36ecff8ba5
Author: Kjartan Maraas <kmaraas gnome org>
Date:   Thu Oct 1 11:01:01 2009 +0200

    Make the paint method work on Quartz too. Patch from Paul Davis. Closes bug #586697

 libgnomecanvas/gnome-canvas.c |   24 +++---------------------
 1 files changed, 3 insertions(+), 21 deletions(-)
---
diff --git a/libgnomecanvas/gnome-canvas.c b/libgnomecanvas/gnome-canvas.c
index f837fce..68c45c5 100644
--- a/libgnomecanvas/gnome-canvas.c
+++ b/libgnomecanvas/gnome-canvas.c
@@ -3105,32 +3105,14 @@ paint (GnomeCanvas *canvas)
 			gdkrect.width = clipped.x1 - clipped.x0;
 			gdkrect.height = clipped.y1 - clipped.y0;
 
-			gdk_region_union_with_rect (region, &gdkrect);
+			region = gdk_region_rectangle (&gdkrect);
+			gdk_window_invalidate_region (canvas->layout.bin_window, region, FALSE);
+			gdk_region_destroy (region);
 		}
 	}
 
 	art_free (rects);
 
-	/* Expose! */
-
-	gdk_region_get_clipbox (region, &region_area);
-
-	expose_event.type = GDK_EXPOSE;
-	expose_event.window = canvas->layout.bin_window;
-	expose_event.send_event = TRUE;
-	expose_event.area.x = region_area.x;
-	expose_event.area.y = region_area.y;
-	expose_event.area.width = region_area.width;
-	expose_event.area.height = region_area.height;
-	expose_event.region = region;
-	expose_event.count = 0;
-
-	gdk_window_begin_paint_region (canvas->layout.bin_window, region);
-	gtk_widget_send_expose (GTK_WIDGET (canvas), (GdkEvent *) &expose_event);
-	gdk_window_end_paint (canvas->layout.bin_window);
-
-	gdk_region_destroy (region);
-
 	canvas->redraw_x1 = 0;
 	canvas->redraw_y1 = 0;
 	canvas->redraw_x2 = 0;



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