summaryrefslogtreecommitdiff
path: root/gdk/x11
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2009-11-27 18:17:33 -0500
committerMatthias Clasen <mclasen@redhat.com>2009-11-27 18:19:20 -0500
commit5bfab2b9d49913284314ff6c22285b55b44ec1a1 (patch)
treecbb7d6cd127a2be2e1ac23029964f09fd9967173 /gdk/x11
parent7abd4d1359ec6b376601169198bbe9a025461df3 (diff)
downloadgtk+-5bfab2b9d49913284314ff6c22285b55b44ec1a1.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.
Diffstat (limited to 'gdk/x11')
-rw-r--r--gdk/x11/gdkwindow-x11.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 5f3c13e9c4..6e79ff8644 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;