Fix 'mono' package typo
[mono.git] / bockbuild / mac-sdk / patches / gtk / 0006-gtk-paint-only-the-exposed-region-in-gdk_window_expo.patch
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
5  gdk_window_expose()
6
7 ---
8  gtk/gtkwindow.c |   19 +++++++++++++++++--
9  1 file changed, 17 insertions(+), 2 deletions(-)
10
11 diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
12 index 7094eb6..89c91da 100644
13 --- a/gtk/gtkwindow.c
14 +++ b/gtk/gtkwindow.c
15 @@ -6631,13 +6631,28 @@ gtk_window_paint (GtkWidget     *widget,
16                       GTK_SHADOW_NONE, area, widget, "base", 0, 0, -1, -1);
17  }
18
19 +static void
20 +gtk_window_paint_region (GtkWidget *widget,
21 +                         GdkRegion *region)
22 +{
23 +  int i, n_rectangles;
24 +  GdkRectangle *rectangles = NULL;
25 +
26 +  gdk_region_get_rectangles (region, &rectangles, &n_rectangles);
27 +
28 +  for (i = 0; i < n_rectangles; i++)
29 +    gtk_window_paint (widget, &rectangles[i]);
30 +
31 +  g_free (rectangles);
32 +}
33 +
34  static gint
35  gtk_window_expose (GtkWidget      *widget,
36                    GdkEventExpose *event)
37  {
38    if (!gtk_widget_get_app_paintable (widget))
39 -    gtk_window_paint (widget, &event->area);
40 -
41 +    gtk_window_paint_region (widget, event->region);
42 +
43    if (GTK_WIDGET_CLASS (gtk_window_parent_class)->expose_event)
44      return GTK_WIDGET_CLASS (gtk_window_parent_class)->expose_event (widget, event);
45
46 --
47 1.7.10.2 (Apple Git-33)