aboutsummaryrefslogtreecommitdiff
path: root/dw/oofpositionedmgr.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dw/oofpositionedmgr.cc')
-rw-r--r--dw/oofpositionedmgr.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/dw/oofpositionedmgr.cc b/dw/oofpositionedmgr.cc
index bcc7e12d..7a5dcd5b 100644
--- a/dw/oofpositionedmgr.cc
+++ b/dw/oofpositionedmgr.cc
@@ -528,7 +528,8 @@ void OOFPositionedMgr::calcPosAndSizeChildOfChild (Child *child, int refWidth,
left, right, *width, widthDefined ? "true" : "false");
if (left == -1 && right == -1)
- *x = child->generator->getAllocation()->x + child->x;
+ *x = child->x + (child->generator->getAllocation()->x
+ - (containerAllocation.x + containerBoxOffsetX ()));
else if (left == -1 && right != -1)
*x = refWidth - *width - right;
else if (left != -1 && right == -1)
@@ -572,7 +573,8 @@ void OOFPositionedMgr::calcPosAndSizeChildOfChild (Child *child, int refWidth,
heightDefined ? "true" : "false");
if (top == -1 && bottom == -1)
- *y = child->generator->getAllocation()->y + child->y;
+ *y = child->y + (child->generator->getAllocation()->y
+ - (containerAllocation.y + containerBoxOffsetY ()));
else if (top == -1 && bottom != -1)
*y = refHeight - (*ascent + *descent) - bottom;
else if (top != -1 && bottom == -1)