diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2019-06-21 12:44:18 +0200 |
---|---|---|
committer | Michael Stahl <Michael.Stahl@cib.de> | 2019-06-21 18:00:26 +0200 |
commit | 98e186a37388d35320b813142b4fc7f0071f5b43 (patch) | |
tree | 5496845a1dadd04792a4b1502f7ba5e8206f7adc /sw/source/core/layout/tabfrm.cxx | |
parent | f2d08a2ec53497f2228abae32eb8d85c82704e24 (diff) |
sw: fix SwUiWriterTest::testTdf114306_2
sw/qa/extras/uiwriter/uiwriter.cxx:5908:SwUiWriterTest::testTdf114306_2
equality assertion failed
- Expected: 4
- Actual : 5
Mysteriously this doesn't happen on master when running make sw.check
but reproduces with
make CppunitTest_sw_uiwriter CPPUNIT_TEST_NAME="testTdf114306_2"
The problem is that the early-returns in SwTabFrame::RemoveFollowFlowLine()
are too late: the SetFollowFlowLine( false ); was already executed and
henceforth the SwTabFrame thinks it doesn't have a follow-flow-line, so
it will never be merged again and new follow-flow-line may be created.
(test fail is regression from 1e6dec4b4313212a3bdc6bb06155fd65e795368b)
Change-Id: Ic5a2ef4219f212c8b4d34fd47d3d67f32de45f8e
Reviewed-on: https://gerrit.libreoffice.org/74500
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Diffstat (limited to 'sw/source/core/layout/tabfrm.cxx')
-rw-r--r-- | sw/source/core/layout/tabfrm.cxx | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx index e1f7441eb8e3..5eea09dd55f7 100644 --- a/sw/source/core/layout/tabfrm.cxx +++ b/sw/source/core/layout/tabfrm.cxx @@ -882,11 +882,6 @@ bool SwTabFrame::RemoveFollowFlowLine() pFollowFlowLine && pLastLine, "There should be a flowline in the follow" ); - // We have to reset the flag here, because lcl_MoveRowContent - // calls a GrowFrame(), which has a different behavior if - // this flag is set. - SetFollowFlowLine( false ); - // #140081# Make code robust. if ( !pFollowFlowLine || !pLastLine ) return true; @@ -896,6 +891,11 @@ bool SwTabFrame::RemoveFollowFlowLine() return false; } + // We have to reset the flag here, because lcl_MoveRowContent + // calls a GrowFrame(), which has a different behavior if + // this flag is set. + SetFollowFlowLine( false ); + // Move content lcl_MoveRowContent( *pFollowFlowLine, *static_cast<SwRowFrame*>(pLastLine) ); |