diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2020-07-27 18:11:30 +0200 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2020-07-28 22:09:38 +0200 |
commit | bf69a8761bf5595aa3db6dc18c34352f2d00412c (patch) | |
tree | 915da69c7fbe6ba7063d41c2ca1338569c90f2e7 | |
parent | 49d1ef7907f5a7a0934fbfa03318ddc6d3ad69b8 (diff) |
tdf#133967 sw_redlinehide: delete existing MergedPara before
... creating new one in RecreateStartTextFrames().
This was causing a problem with duplicate call of AddToListRLHidden() on
a node that was already added by the existing MergedPara; logically the
add would need to be reverted when the existing MergedPara dies, but
there's no count on it, so the safe way to fix this is to delete
existing MergedPara first.
This was on node 1083 in the bugdoc.
Change-Id: I1fec613829b3b12e3846fc4b195559d9a6079560
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99523
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
(cherry picked from commit c363568fcedb6b7b425b735614db0600a0362ead)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99581
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r-- | sw/source/core/layout/frmtool.cxx | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx index 7cea094eb270..05ab000c359c 100644 --- a/sw/source/core/layout/frmtool.cxx +++ b/sw/source/core/layout/frmtool.cxx @@ -1379,6 +1379,8 @@ void RecreateStartTextFrames(SwTextNode & rNode) ? *pFrame->GetMergedPara()->pFirstNode : rNode); assert(rFirstNode.GetIndex() <= rNode.GetIndex()); + // clear old one first to avoid DelFrames confusing updates & asserts... + pFrame->SetMergedPara(nullptr); pFrame->SetMergedPara(sw::CheckParaRedlineMerge( *pFrame, rFirstNode, eMode)); eMode = sw::FrameMode::New; // Existing is not idempotent! |