[gtk+] gdkwindow: Don't do some extra work



commit 70fe57703bcd733e3f2811a0a236ff7796d6a38d
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Mon Jun 23 16:12:45 2014 -0400

    gdkwindow: Don't do some extra work
    
    We can do an early return in some specific cases before we need to
    create and clip a cairo region.

 gdk/gdkwindow.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 597556e..db7b640 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -3246,19 +3246,22 @@ _gdk_window_process_updates_recurse_helper (GdkWindow *window,
   cairo_region_t *clipped_expose_region;
   GList *l, *children;
 
+  if (window->destroyed)
+    return;
+
+  if (window->alpha == 0 && !gdk_window_has_impl (window))
+    return;
+
   clipped_expose_region = cairo_region_copy (expose_region);
   cairo_region_translate (clipped_expose_region, dx, dy);
   cairo_region_intersect (clipped_expose_region, window->clip_region);
 
-  if (cairo_region_is_empty (clipped_expose_region) || window->destroyed)
+  if (cairo_region_is_empty (clipped_expose_region))
     goto out;
 
   if (gdk_window_is_offscreen (window))
     gdk_window_add_damage (window, clipped_expose_region);
 
-  if (window->alpha == 0 && !gdk_window_has_impl (window))
-    goto out;
-
   /* Paint the window before the children, clipped to the window region */
 
   /* While gtk+ no longer handles exposes on anything but native


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