summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
Diffstat (limited to 'gdk')
-rw-r--r--gdk/x11/gdkwindow-x11.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 56d5e20688..28dd8fbd4b 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -3379,6 +3379,7 @@ gdk_window_get_frame_extents (GdkWindow *window,
Window xwindow;
Window xparent;
Window root;
+ Window child;
Window *children;
guchar *data;
Window *vroots;
@@ -3437,13 +3438,15 @@ gdk_window_get_frame_extents (GdkWindow *window,
if ((type_return == XA_CARDINAL) && (format_return == 32) &&
(nitems_return == 4) && (data))
{
- guint32 *ldata = (guint32 *) data;
+ gulong *ldata = (gulong *) data;
got_frame_extents = TRUE;
/* try to get the real client window geometry */
if (XGetGeometry (GDK_DISPLAY_XDISPLAY (display), xwindow,
- &root, &wx, &wy, &ww, &wh, &wb, &wd))
- {
+ &root, &wx, &wy, &ww, &wh, &wb, &wd) &&
+ XTranslateCoordinates (GDK_DISPLAY_XDISPLAY (display),
+ xwindow, root, 0, 0, &wx, &wy, &child))
+ {
rect->x = wx;
rect->y = wy;
rect->width = ww;