sw/source/core/text/frmform.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)
New commits: commit e0e2cc7ca6d498b3e696bbc306d3f1e403ebf27d Author: Caolán McNamara <caol...@redhat.com> Date: Tue Sep 29 21:05:58 2015 +0100 Related: tdf#93461 relax loop detection some more have an internal RH document which has a caption on a draw document which appears behind the drawing otherwise Change-Id: I7c3abb3104e0125fce4fc1b575861006f166fa48 diff --git a/sw/source/core/text/frmform.cxx b/sw/source/core/text/frmform.cxx index b9a0377..7d3c623 100644 --- a/sw/source/core/text/frmform.cxx +++ b/sw/source/core/text/frmform.cxx @@ -1895,18 +1895,21 @@ bool SwTextFrm::FormatQuick( bool bForceQuickFormat ) const sal_Int32 nEnd = GetFollow() ? GetFollow()->GetOfst() : aInf.GetText().getLength(); - bool bPreviousLayoutWasZeroWidth = false; + int nLoopProtection = 0; do { sal_Int32 nNewStart = aLine.FormatLine(nStart); - bool bThisLayoutIsZeroWidth = (nNewStart == nStart); + if (nNewStart == nStart) + ++nLoopProtection; + else + nLoopProtection = 0; nStart = nNewStart; - bool bWillEndlessInsert = (bPreviousLayoutWasZeroWidth && bThisLayoutIsZeroWidth); + const bool bWillEndlessInsert = nLoopProtection > 2; + SAL_WARN_IF(bWillEndlessInsert, "sw", "loop detection triggered"); if ((!bWillEndlessInsert) // Check for special case: line is invisible, // like in too thin table cell: tdf#66141 && (aInf.IsNewLine() || (!aInf.IsStop() && nStart < nEnd))) aLine.Insert( new SwLineLayout() ); - bPreviousLayoutWasZeroWidth = bThisLayoutIsZeroWidth; } while( aLine.Next() ); // Last exit: the heights need to match
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits