summaryrefslogtreecommitdiff
path: root/src/core/window.c
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2019-05-23 12:53:03 -0400
committerVictor Kareh <[email protected]>2019-06-05 10:49:37 -0400
commit87da4bbb52c4540475896bb2af48b154ee1c6751 (patch)
tree3005d3e93725d7a27d8657330a43672a2c6b7b79 /src/core/window.c
parent094a7e7054de6d356cd1167088235c9c06ccbe97 (diff)
downloadmarco-87da4bbb52c4540475896bb2af48b154ee1c6751.tar.bz2
marco-87da4bbb52c4540475896bb2af48b154ee1c6751.tar.xz
window: Correct coordinates for the configure event
We should still correct the coordinates for withdrawn windows. upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/9da3004e
Diffstat (limited to 'src/core/window.c')
-rw-r--r--src/core/window.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/core/window.c b/src/core/window.c
index 5c258dbf..b5f63363 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -5830,11 +5830,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
{