Updating branch refs/heads/master
         to 7c33b2ee5005bd2394802a83eee9e379af103b4e (commit)
       from ba38bf2c5240a5663a47827b3a516c3bd9ddab91 (commit)

commit 7c33b2ee5005bd2394802a83eee9e379af103b4e
Author: Olivier Fourdan <four...@xfce.org>
Date:   Mon Oct 12 09:48:38 2009 +0200

    Recompute windows' positions even if the global size of the screen has not 
changed because a change in the layout may keep the overall screen size 
unchanged and yet windows might have become unreachable dut to the change in 
the actual layout.

 src/events.c |   19 ++++++++-----------
 1 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/src/events.c b/src/events.c
index b4e860b..4e6a400 100644
--- a/src/events.c
+++ b/src/events.c
@@ -2716,11 +2716,13 @@ size_changed_cb(GdkScreen *gscreen, gpointer data)
 {
     ScreenInfo *screen_info;
     DisplayInfo *display_info;
+    gboolean size_changed;
 
     TRACE ("entering size_changed_cb");
 
     screen_info = (ScreenInfo *) data;
     g_return_if_fail (screen_info);
+    display_info = screen_info->display_info;
 
     /*
      * We have added/removed a monitor or even changed the layout,
@@ -2733,21 +2735,16 @@ size_changed_cb(GdkScreen *gscreen, gpointer data)
     screen_info->cache_monitor.width = 0;
     screen_info->cache_monitor.height = 0;
 
-    /*
-     * If the overall size of the screen hasn't changed,
-     * there is no need to continue any further...
-     */
-    if (!myScreenComputeSize (screen_info))
-    {
-        return;
-    }
-    display_info = screen_info->display_info;
-
+    size_changed = myScreenComputeSize (screen_info);
     setNetWorkarea (display_info, screen_info->xroot, 
screen_info->workspace_count,
                     screen_info->width, screen_info->height, 
screen_info->margins);
     placeSidewalks (screen_info, screen_info->params->wrap_workspaces);
     clientScreenResize (screen_info);
-    compositorUpdateScreenSize (screen_info);
+
+    if (size_changed)
+    {
+        compositorUpdateScreenSize (screen_info);
+    }
 }
 
 static void
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to