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