summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <Michael.Stahl@cib.de>2020-07-27 18:11:30 +0200
committerXisco Fauli <xiscofauli@libreoffice.org>2020-07-28 22:09:38 +0200
commitbf69a8761bf5595aa3db6dc18c34352f2d00412c (patch)
tree915da69c7fbe6ba7063d41c2ca1338569c90f2e7
parent49d1ef7907f5a7a0934fbfa03318ddc6d3ad69b8 (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.cxx2
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!