[gtk+] gdkwindow: Remove an extra region copy
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] gdkwindow: Remove an extra region copy
- Date: Sat, 21 Jun 2014 15:18:30 +0000 (UTC)
commit 47d6677e92bb364b6a58fad624d89ebb4a0fc6dd
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Sat Jun 21 10:33:40 2014 -0400
gdkwindow: Remove an extra region copy
This code is only called with the current paint region as its argument.
Instead of having to copy it and do a no-op intersect against itself,
just use the current paint directly.
gdk/gdkwindow.c | 13 +++----------
1 files changed, 3 insertions(+), 10 deletions(-)
---
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index dd21713..a0da4c4 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -2773,7 +2773,7 @@ gdk_window_begin_paint_region (GdkWindow *window,
}
if (!cairo_region_is_empty (window->current_paint.region))
- gdk_window_clear_backing_region (window, window->current_paint.region);
+ gdk_window_clear_backing_region (window);
}
/**
@@ -2942,10 +2942,8 @@ gdk_window_get_visible_region (GdkWindow *window)
}
static void
-gdk_window_clear_backing_region (GdkWindow *window,
- cairo_region_t *region)
+gdk_window_clear_backing_region (GdkWindow *window)
{
- cairo_region_t *clip;
GdkWindow *bg_window;
cairo_pattern_t *pattern = NULL;
int x_offset = 0, y_offset = 0;
@@ -2975,15 +2973,10 @@ gdk_window_clear_backing_region (GdkWindow *window,
else
cairo_set_source_rgb (cr, 0, 0, 0);
- clip = cairo_region_copy (window->current_paint.region);
- cairo_region_intersect (clip, region);
-
- gdk_cairo_region (cr, clip);
+ gdk_cairo_region (cr, window->current_paint.region);
cairo_fill (cr);
cairo_destroy (cr);
-
- cairo_region_destroy (clip);
}
/* This returns either the current working surface on the paint stack
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]