diff options
author | Matthias Clasen <mclasen@redhat.com> | 2009-11-27 18:17:33 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2009-11-30 22:37:53 -0500 |
commit | b6138cc8c035901e8af5527a7877d111e4cdf2c0 (patch) | |
tree | 48fc61c4719be60fe335ea4585e2ced4c4075871 | |
parent | 7ef6a12b583cc33d8e74821b924826194d1bab2e (diff) | |
download | gdk-pixbuf-b6138cc8c035901e8af5527a7877d111e4cdf2c0.tar.gz |
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.
-rw-r--r-- | 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 c215e8721..e0ee2b019 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; |