summaryrefslogtreecommitdiff
path: root/dw/oofpositionedmgr.cc
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2014-12-09 14:52:06 +0100
committerSebastian Geerken <devnull@localhost>2014-12-09 14:52:06 +0100
commit16d44971c6cba5ee542ef6a7621eb54b4b9286a2 (patch)
treeccb25d9fa60f9bdef5bb007fcece34d78be37ac0 /dw/oofpositionedmgr.cc
parentee9f68d31180573847761cea82bea9454076b297 (diff)
Fix related to absolute positions.
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)