diff options
author | Victor Kareh <[email protected]> | 2019-05-23 12:53:03 -0400 |
---|---|---|
committer | raveit65 <[email protected]> | 2019-06-16 18:12:44 +0200 |
commit | a2582172dbb6e54a48b5bc6a69761e2758b712b3 (patch) | |
tree | f89050ce4ec56de774baab298ebdb9762bb615fe | |
parent | 51d0f30ee0bfa70e37042e4ec1544b0a8d27ad0f (diff) | |
download | marco-a2582172dbb6e54a48b5bc6a69761e2758b712b3.tar.bz2 marco-a2582172dbb6e54a48b5bc6a69761e2758b712b3.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
-rw-r--r-- | src/core/window.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/core/window.c b/src/core/window.c index dfa36f18..8e0d89bd 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -5837,11 +5837,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 { |