[Libreoffice-commits] core.git: sw/source

Michael Stahl (via logerrit) logerrit at kemper.freedesktop.org
Tue Jul 28 08:58:26 UTC 2020


 sw/source/core/layout/frmtool.cxx |    2 ++
 1 file changed, 2 insertions(+)

New commits:
commit c363568fcedb6b7b425b735614db0600a0362ead
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Mon Jul 27 18:11:30 2020 +0200
Commit:     Michael Stahl <michael.stahl at cib.de>
CommitDate: Tue Jul 28 10:57:43 2020 +0200

    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 at cib.de>

diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx
index cfdd37e69d27..f7ba92aa4130 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!


More information about the Libreoffice-commits mailing list