1 From 37f07504f203aec1345a75abeb07172259bd5973 Mon Sep 17 00:00:00 2001
2 From: Michael Natterer <mitch@gimp.org>
3 Date: Sun, 27 May 2012 22:51:33 +0200
4 Subject: [PATCH 06/68] gtk: paint only the exposed region in
8 gtk/gtkwindow.c | 19 +++++++++++++++++--
9 1 file changed, 17 insertions(+), 2 deletions(-)
11 diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
12 index 7094eb6..89c91da 100644
15 @@ -6631,13 +6631,28 @@ gtk_window_paint (GtkWidget *widget,
16 GTK_SHADOW_NONE, area, widget, "base", 0, 0, -1, -1);
20 +gtk_window_paint_region (GtkWidget *widget,
23 + int i, n_rectangles;
24 + GdkRectangle *rectangles = NULL;
26 + gdk_region_get_rectangles (region, &rectangles, &n_rectangles);
28 + for (i = 0; i < n_rectangles; i++)
29 + gtk_window_paint (widget, &rectangles[i]);
31 + g_free (rectangles);
35 gtk_window_expose (GtkWidget *widget,
36 GdkEventExpose *event)
38 if (!gtk_widget_get_app_paintable (widget))
39 - gtk_window_paint (widget, &event->area);
41 + gtk_window_paint_region (widget, event->region);
43 if (GTK_WIDGET_CLASS (gtk_window_parent_class)->expose_event)
44 return GTK_WIDGET_CLASS (gtk_window_parent_class)->expose_event (widget, event);
47 1.7.10.2 (Apple Git-33)