[gtk+/gtk-2-18] Short-circuit get_frame_extents for override-redirect windows



commit b6138cc8c035901e8af5527a7877d111e4cdf2c0
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Nov 27 18:17:33 2009 -0500

    Short-circuit get_frame_extents for override-redirect windows
    
    There's no reason to do our expensive round-trips for an override-redirect
    window; just use local information. See bug 581145. Patch by Owen Taylor.

 gdk/x11/gdkwindow-x11.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
---
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index c215e87..e0ee2b0 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -2920,6 +2920,7 @@ gdk_window_get_frame_extents (GdkWindow    *window,
 {
   GdkDisplay *display;
   GdkWindowObject *private;
+  GdkWindowImplX11 *impl;
   Window xwindow;
   Window xparent;
   Window root;
@@ -2955,7 +2956,8 @@ gdk_window_get_frame_extents (GdkWindow    *window,
   rect->y = private->y;
   gdk_drawable_get_size ((GdkDrawable *)private, &rect->width, &rect->height);
 
-  if (GDK_WINDOW_DESTROYED (private))
+  impl = GDK_WINDOW_IMPL_X11 (private->impl);
+  if (GDK_WINDOW_DESTROYED (private) || impl->override_redirect)
     return;
 
   nvroots = 0;



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