summaryrefslogtreecommitdiff
path: root/dw/textblock.cc
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2016-01-02 00:49:12 +0100
committerSebastian Geerken <devnull@localhost>2016-01-02 00:49:12 +0100
commit722db0f57178e7ce0d0292d8ffe2f7adbbb7b5aa (patch)
tree4663253317db0748ae5cc76a8e74a396bb291901 /dw/textblock.cc
parent06a6aced1494ac99073f23cd550fa868dd651d76 (diff)
SRDOP: Consider references and positions in Textblock::sizeRequestImpl (fix).
Diffstat (limited to 'dw/textblock.cc')
-rw-r--r--dw/textblock.cc21
1 files changed, 12 insertions, 9 deletions
diff --git a/dw/textblock.cc b/dw/textblock.cc
index 9ae0e29e..2dfb29bc 100644
--- a/dw/textblock.cc
+++ b/dw/textblock.cc
@@ -242,7 +242,7 @@ Textblock::Textblock (bool limitTextWidth)
DBG_OBJ_SET_NUM ("words.size", words->size ());
DBG_OBJ_SET_NUM ("wrapRefLines", wrapRefLines);
DBG_OBJ_SET_NUM ("wrapRefParagraphs", wrapRefParagraphs);
- DBG_OBJ_SET_NUM ("wrapRefLinesFCX",wrapRefLinesFCX);
+ DBG_OBJ_SET_NUM ("wrapRefLinesFCX", wrapRefLinesFCX);
DBG_OBJ_SET_NUM ("wrapRefLinesFCY", wrapRefLinesFCY);
hoverLink = -1;
@@ -319,20 +319,23 @@ void Textblock::sizeRequestImpl (core::Requisition *requisition, int numPos,
// true.)
int newLineBreakWidth = getAvailWidth (true);
- int newFCX = getGeneratorX (OOFM_FLOATS);
- int newFCY = getGeneratorY (OOFM_FLOATS);
+ int newFCX, newFCY;
+ bool fcDefined = findSizeRequestReference (OOFM_FLOATS, &newFCX, &newFCY);
if (newLineBreakWidth != lineBreakWidth ||
- newFCX != wrapRefLinesFCX || newFCY != wrapRefLinesFCY) {
+ (fcDefined && (newFCX != wrapRefLinesFCX ||
+ newFCY != wrapRefLinesFCY))) {
lineBreakWidth = newLineBreakWidth;
wrapRefLines = 0;
- wrapRefLinesFCX = newFCX;
- wrapRefLinesFCY = newFCY;
-
DBG_OBJ_SET_NUM ("lineBreakWidth", lineBreakWidth);
DBG_OBJ_SET_NUM ("wrapRefLines", wrapRefLines);
- DBG_OBJ_SET_NUM ("wrapRefLinesFCX",wrapRefLinesFCX);
- DBG_OBJ_SET_NUM ("wrapRefLinesFCY", wrapRefLinesFCY);
+
+ if (!fcDefined) {
+ wrapRefLinesFCX = newFCX;
+ wrapRefLinesFCY = newFCY;
+ DBG_OBJ_SET_NUM ("wrapRefLinesFCX", wrapRefLinesFCX);
+ DBG_OBJ_SET_NUM ("wrapRefLinesFCY", wrapRefLinesFCY);
+ }
}
rewrap ();