summaryrefslogtreecommitdiff
path: root/dw/outofflowmgr.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dw/outofflowmgr.cc')
-rw-r--r--dw/outofflowmgr.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/dw/outofflowmgr.cc b/dw/outofflowmgr.cc
index e9731547..a2cd7497 100644
--- a/dw/outofflowmgr.cc
+++ b/dw/outofflowmgr.cc
@@ -1656,10 +1656,14 @@ int OutOfFlowMgr::getBorder (Textblock *textblock, Side side, int y, int h,
"not GB: thisBorder = %d + %d - %d = %d",
fla->x, fla->width, tba->x, thisBorder);
} else {
- thisBorder = tba->x + tba->width - fla->x;
+ // See also calcFloatX.
+ int tbAvWidth = textblock->getAvailWidth ();
+ thisBorder = tba->x + min (tba->width, tbAvWidth) - fla->x;
DBG_OBJ_MSGF ("border", 1,
- "not GB: thisBorder = %d + %d - %d = %d",
- tba->x, tba->width, fla->x, thisBorder);
+ "not GB: thisBorder = %d + min (%d, %d) - %d "
+ "= %d",
+ tba->x, tba->width, tbAvWidth, fla->x,
+ thisBorder);
}
}