[metacity/wip/gtk-theme: 35/51] frame: Make sure to offset by invisible borders when unmanaging windows



commit d4ea99bc43c159d9b869249a1d3a374a6895e9ac
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Mon Oct 17 17:18:50 2011 -0400

    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

 src/core/frame.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/src/core/frame.c b/src/core/frame.c
index 9581320..23d1d5d 100644
--- a/src/core/frame.c
+++ b/src/core/frame.c
@@ -174,6 +174,7 @@ void
 meta_window_destroy_frame (MetaWindow *window)
 {
   MetaFrame *frame;
+  MetaFrameBorders borders;
 
   if (window->frame == NULL)
     return;
@@ -182,6 +183,8 @@ meta_window_destroy_frame (MetaWindow *window)
 
   frame = window->frame;
 
+  meta_frame_calc_borders (frame, &borders);
+
   meta_bell_notify_frame_destroy (frame);
 
   /* Unparent the client window; it may be destroyed,
@@ -205,8 +208,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, FALSE);
 
   meta_ui_destroy_frame_window (window->screen->ui, frame->xwindow);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]