summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2011-10-17 17:18:50 -0400
committerJasper St. Pierre <jstpierre@mecheye.net>2011-10-17 21:53:58 -0400
commit6d0c1f08d28458934259c462638f31c22d6b3e3f (patch)
tree1ae5c2e2c53ad2b649d1f5583cf8c69d738fa787
parentf700a7be0759bb51840d6f22cbcc7330e659d871 (diff)
downloadmutter-6d0c1f08d28458934259c462638f31c22d6b3e3f.tar.gz
frame: Make sure to offset by invisible borders when unmanaging windows
When we reparent a window to the root when we're exiting, we need to offset the position by the invisible borders, otherwise windows will creep up and to the left. https://bugzilla.gnome.org/show_bug.cgi?id=660848
-rw-r--r--src/core/frame.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/frame.c b/src/core/frame.c
index 33e0c6f8d..203805388 100644
--- a/src/core/frame.c
+++ b/src/core/frame.c
@@ -173,6 +173,7 @@ void
meta_window_destroy_frame (MetaWindow *window)
{
MetaFrame *frame;
+ MetaFrameBorders borders;
if (window->frame == NULL)
return;
@@ -180,6 +181,8 @@ meta_window_destroy_frame (MetaWindow *window)
meta_verbose ("Unframing window %s\n", window->desc);
frame = window->frame;
+
+ meta_frame_calc_borders (frame, &borders);
meta_bell_notify_frame_destroy (frame);
@@ -207,8 +210,8 @@ meta_window_destroy_frame (MetaWindow *window)
* coordinates here means we'll need to ensure a configure
* notify event is sent; see bug 399552.
*/
- window->frame->rect.x,
- window->frame->rect.y);
+ window->frame->rect.x + borders.invisible.left,
+ window->frame->rect.y + borders.invisible.top);
meta_error_trap_pop (window->display);
meta_ui_destroy_frame_window (window->screen->ui, frame->xwindow);