From bb035fe6e054fad013c5a415697900f100df35be Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Mon, 17 Oct 2011 21:15:48 -0400 Subject: [PATCH] window: Correct coordinates for the configure event We should still correct the coordinates for withdrawn windows. --- src/core/window.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/core/window.c b/src/core/window.c index 6dd907f5e..3b29660dd 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -6903,11 +6903,15 @@ send_configure_notify (MetaWindow *window) { if (window->withdrawn) { - /* WARNING: x & y need to be set to whatever the XReparentWindow - * call in meta_window_destroy_frame will use so that the window - * has the right coordinates. Currently, that means no change to - * x & y. + MetaFrameBorders borders; + /* We reparent the client window and put it to the position + * where the visible top-left of the frame window currently is. */ + + meta_frame_calc_borders (window->frame, &borders); + + event.xconfigure.x = window->frame->rect.x + borders.invisible.left; + event.xconfigure.y = window->frame->rect.y + borders.invisible.top; } else {