summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2014-03-20 15:09:43 +0100
committerSebastian Geerken <devnull@localhost>2014-03-20 15:09:43 +0100
commitcea1969afae6eb5be6a87cd3abaf80b7399710ce (patch)
tree26f4c15cdd6c9774966ab0712f66f9a07ca64ea2
parent31b7f6e9c1f2f09f66eee3bfbc676bc02a041a5b (diff)
Another bugfix related to float borders.
-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);
}
}