Author: olivier Date: 2009-02-18 19:39:36 +0000 (Wed, 18 Feb 2009) New Revision: 29511
Modified: xfwm4/trunk/ChangeLog xfwm4/trunk/NEWS xfwm4/trunk/src/placement.c Log: * src/placement.c: Fix size not properly computed by the fill function with a dock on top or left (Bug #4960). Modified: xfwm4/trunk/ChangeLog =================================================================== --- xfwm4/trunk/ChangeLog 2009-02-18 17:57:58 UTC (rev 29510) +++ xfwm4/trunk/ChangeLog 2009-02-18 19:39:36 UTC (rev 29511) @@ -1,3 +1,8 @@ +2009-02-18 olivier + + * src/placement.c: Fix size not properly computed by the fill + function with a dock on top or left (Bug #4960). + 2009-02-17 olivier * src/keyboard.c: Use proper type for returned value. Modified: xfwm4/trunk/NEWS =================================================================== --- xfwm4/trunk/NEWS 2009-02-18 17:57:58 UTC (rev 29510) +++ xfwm4/trunk/NEWS 2009-02-18 19:39:36 UTC (rev 29511) @@ -3,6 +3,8 @@ - Fix possible monitor cache size inconsistency when the screen size changes. - Fix fill function not working with multiscreen. +- Fix size not properly computed by the fill function with a dock on top or + left (Bug #4960). - Only display the shortcut conflict dialog if the conflict is with a different shortcut than the one being edited. - When stealing a shortcut from another shortcuts provider, clear the shortcut Modified: xfwm4/trunk/src/placement.c =================================================================== --- xfwm4/trunk/src/placement.c 2009-02-18 17:57:58 UTC (rev 29510) +++ xfwm4/trunk/src/placement.c 2009-02-18 19:39:36 UTC (rev 29511) @@ -917,45 +917,29 @@ * If not, resize to the largest size available that you just have computed. */ - wc.x = frameLeft(c); + wc.x = full_x + frameLeft(c); if (west_neighbour) { - wc.x += MAX (frameX(west_neighbour) + frameWidth(west_neighbour), full_x); + wc.x += MAX (frameX(west_neighbour) + frameWidth(west_neighbour) - full_x, 0); } - else - { - wc.x += full_x; - } - wc.width = full_x - frameRight(c) - wc.x; + wc.width = full_w - frameRight(c) - (wc.x - rect.x); if (east_neighbour) { - wc.width += MIN (frameX(east_neighbour) - rect.x, full_w); + wc.width -= MAX (full_w - (frameX(east_neighbour) - rect.x), 0); } - else - { - wc.width += full_w; - } - wc.y = frameTop(c); + wc.y = full_y + frameTop(c); if (north_neighbour) { - wc.y += MAX (frameY(north_neighbour) + frameHeight(north_neighbour), full_y); + wc.y += MAX (frameY(north_neighbour) + frameHeight(north_neighbour) - full_y, 0); } - else - { - wc.y += full_y; - } - wc.height = full_y - frameBottom(c) - wc.y; + wc.height = full_h - frameBottom(c) - (wc.y - rect.y); if (south_neighbour) { - wc.height += MIN (frameY(south_neighbour) - rect.y, full_h); + wc.height -= MAX (full_h - (frameY(south_neighbour) - rect.y), 0); } - else - { - wc.height += full_h; - } TRACE ("Fill size request: (%d,%d) %dx%d", wc.x, wc.y, wc.width, wc.height); if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_MANAGED)) _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits