# HG changeset patch # User Sebastian Geerken # Date 1468748553 -7200 # Sun Jul 17 11:42:33 2016 +0200 # Node ID ad7da0d26dad25c86f01370f7754ced961dae0b9 # Parent bbd0bdde0e012c16d396ae432042ff6276e0ed9c RTFL. diff --git a/dw/textblock.cc b/dw/textblock.cc --- a/dw/textblock.cc +++ b/dw/textblock.cc @@ -213,6 +213,7 @@ line1Offset = 0; ignoreLine1OffsetSometimes = false; mustQueueResize = false; + DBG_OBJ_SET_BOOL ("mustQueueResize", mustQueueResize); redrawY = 0; DBG_OBJ_SET_NUM ("redrawY", redrawY); lastWordDrawn = -1; @@ -2753,6 +2754,8 @@ word2->content.breakSpace = space; textblock2->queueResize (makeParentRefInFlow (lineno), false); textblock2->mustQueueResize = false; + DBG_OBJ_SET_BOOL_O (textblock2, "mustQueueResize", + textblock2->mustQueueResize); } } return; @@ -2945,6 +2948,7 @@ queueResize (-1, true); mustQueueResize = false; + DBG_OBJ_SET_BOOL ("mustQueueResize", mustQueueResize); } DBG_OBJ_LEAVE (); diff --git a/dw/textblock_linebreaking.cc b/dw/textblock_linebreaking.cc --- a/dw/textblock_linebreaking.cc +++ b/dw/textblock_linebreaking.cc @@ -452,6 +452,7 @@ line->contentDescent); mustQueueResize = true; + DBG_OBJ_SET_BOOL ("mustQueueResize", mustQueueResize); int xWidget = line->textOffset; int yLine = yOffsetOfLineCreated (line); @@ -686,7 +687,7 @@ } } - if(!newLine && !wrapAll) + if(!newLine && !wrapAll) { // No new line is added. "mustQueueResize" must, // nevertheless, be set, so that flush() will call // queueResize(), and later sizeRequestImpl() is called, @@ -694,6 +695,8 @@ // calls this method again, with wrapAll == true, so that // newLine is calculated as "true". mustQueueResize = true; + DBG_OBJ_SET_BOOL ("mustQueueResize", mustQueueResize); + } PRINTF ("[%p] special case? newLine = %s, wrapAll = %s => " "mustQueueResize = %s\n", this, newLine ? "true" : "false",