summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/qa/core/data/ww8/pass/forcepoint50-rows-1.docbin0 -> 363520 bytes
-rw-r--r--sw/source/core/layout/tabfrm.cxx20
2 files changed, 7 insertions, 13 deletions
diff --git a/sw/qa/core/data/ww8/pass/forcepoint50-rows-1.doc b/sw/qa/core/data/ww8/pass/forcepoint50-rows-1.doc
new file mode 100644
index 000000000000..e91f9dd3242c
--- /dev/null
+++ b/sw/qa/core/data/ww8/pass/forcepoint50-rows-1.doc
Binary files differ
diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx
index 8fad05cf2508..a5538ea3f707 100644
--- a/sw/source/core/layout/tabfrm.cxx
+++ b/sw/source/core/layout/tabfrm.cxx
@@ -164,7 +164,7 @@ void SwTabFrame::RegistFlys()
}
void SwInvalidateAll( SwFrame *pFrame, long nBottom );
-static bool lcl_RecalcRow( SwRowFrame* pRow, long nBottom );
+static void lcl_RecalcRow( SwRowFrame* pRow, long nBottom );
static bool lcl_ArrangeLowers( SwLayoutFrame *pLay, long lYStart, bool bInva );
// #i26945# - add parameter <_bOnlyRowsAndCells> to control
// that only row and cell frames are formatted.
@@ -1562,8 +1562,7 @@ static bool lcl_InnerCalcLayout( SwFrame *pFrame,
return bRet;
}
-// returns false if pRow is invalid
-static bool lcl_RecalcRow( SwRowFrame* pRow, long nBottom )
+static void lcl_RecalcRow( SwRowFrame* pRow, long nBottom )
{
// FME 2007-08-30 #i81146# new loop control
int nLoopControlRuns_1 = 0;
@@ -1621,7 +1620,7 @@ static bool lcl_RecalcRow( SwRowFrame* pRow, long nBottom )
if (!bRowStillExists)
{
SAL_WARN("sw.layout", "no row anymore at " << pRow);
- return false;
+ return;
}
// NEW TABLES
@@ -1665,8 +1664,7 @@ static bool lcl_RecalcRow( SwRowFrame* pRow, long nBottom )
}
}
break;
- } while (true);
- return true;
+ } while( true );
}
static void lcl_RecalcTable( SwTabFrame& rTab,
@@ -2353,7 +2351,7 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext)
// 1. Try: bTryToSplit = true => Try to split the row.
// 2. Try: bTryToSplit = false => Split the table between the rows.
- if ((pFirstNonHeadlineRow && pFirstNonHeadlineRow->GetNext()) || bTryToSplit )
+ if ( pFirstNonHeadlineRow->GetNext() || bTryToSplit )
{
SwTwips nDeadLine = aRectFnSet.GetPrtBottom(*GetUpper());
if( IsInSct() || GetUpper()->IsInTab() ) // TABLE IN TABLE)
@@ -2362,11 +2360,7 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext)
{
SetInRecalcLowerRow( true );
- SwRowFrame* pRow = static_cast<SwRowFrame*>(Lower());
- if (!lcl_RecalcRow(pRow, nDeadLine))
- {
- pFirstNonHeadlineRow = GetFirstNonHeadlineRow();
- }
+ ::lcl_RecalcRow( static_cast<SwRowFrame*>(Lower()), nDeadLine );
SetInRecalcLowerRow( false );
}
m_bLowersFormatted = true;
@@ -2400,7 +2394,7 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext)
if ( bTableRowKeep )
{
- const SwRowFrame* pTmpRow = pFirstNonHeadlineRow;
+ const SwRowFrame* pTmpRow = GetFirstNonHeadlineRow();
while ( pTmpRow && pTmpRow->ShouldRowKeepWithNext() )
{
++nMinNumOfLines;