From d06e3a6a62f066965810fecacaf4685a25a927df Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 6 Jun 2008 20:57:50 +0000 Subject: [PATCH] Return the right coordinates svn path=/trunk/; revision=20325 --- ChangeLog | 8 ++++++++ gdk/x11/gdkwindow-x11.c | 9 ++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 722f97eedc..6d9ab218ac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-06-06 Matthias Clasen + + Bug 536757 – regression: openoffice.org menus are placed at wrong + position since 2.12.10 + + * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): + Return the right coordinates. + 2008-06-06 Behdad Esfahbod Bug 536185 – monitor font configuration 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;