sw/source/core/text/txtfrm.cxx |    5 +++++
 1 file changed, 5 insertions(+)

New commits:
commit 3afb71ee89f450217cbe232d636f40f10d425198
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Mon Jul 27 18:12:19 2020 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Tue Jul 28 22:10:04 2020 +0200

    tdf#133967 sw_redlinehide: fix assert on undo-redo-undo
    
    Assertion `pNode->GetRedlineMergeFlag() != SwNode::Merge::Hidden' failed.
    
    4  IsAnchoredObjShown(SwTextFrame const&, SwFormatAnchor const&) 
(rFrame=..., rAnchor=...) at sw/source/core/layout/frmtool.cxx:1284
    5  SwFlyFrameFormat::MakeFrames() (this=0x7a97860) at 
sw/source/core/layout/atrfrm.cxx:3001
    6  AppendAllObjs(SwFrameFormats const*, SwFrame const*) (pTable=0x72457e0, 
pSib=0x4002800) at sw/source/core/layout/frmtool.cxx:1337
    7  InsertCnt_(SwLayoutFrame*, SwDoc*, unsigned long, bool, unsigned long, 
SwFrame*, sw::FrameMode) (pLay=0x8e86ce0, pDoc=0x7242220, nIndex=854, 
bPages=true, nEndIndex=854, pPrv=0x7a79850, eMode=sw::FrameMode::Existing) at 
sw/source/core/layout/frmtool.cxx:1892
    8  MakeFrames(SwDoc*, SwNodeIndex const&, SwNodeIndex const&) 
(pDoc=0x7242220, rSttIdx=SwNodeIndex (node 372), rEndIdx=SwNodeIndex (node 
854)) at sw/source/core/layout/frmtool.cxx:2055
    9  sw::UpdateFramesForRemoveDeleteRedline(SwDoc&, SwPaM const&) (rDoc=..., 
rPam=SwPaM = {...}) at sw/source/core/doc/DocumentRedlineManager.cxx:292
    
    because this added an extent for the node but it still had its flag set
    to Hidden:
    
    11 sw::UpdateMergedParaForInsert(sw::MergedPara&, bool, SwTextNode const&, 
sal_Int32, sal_Int32) (rMerged=..., isRealInsert=false, rNode=..., nIndex=0, 
nLen=279) at sw/source/core/text/txtfrm.cxx:1002
    12 SwTextFrame::SwClientNotify(SwModify const&, SfxHint const&) 
(this=0x7337940, rModify=..., rHint=...) at sw/source/core/text/txtfrm.cxx:2076
    17 SwRangeRedline::InvalidateRange(SwRangeRedline::Invalidation) 
(this=0x8b3a120, eWhy=SwRangeRedline::Invalidation::Remove) at 
sw/source/core/doc/docredln.cxx:1261
    18 sw::DocumentRedlineManager::DeleteRedline(SwPaM const&, bool, 
RedlineType) (this=0x7250b60, rRange=SwPaM = {...}, bSaveInUndo=true, 
nDelType=-1) at sw/source/core/doc/DocumentRedlineManager.cxx:2386
    19 SwUndoRedlineDelete::UndoRedlineImpl(SwDoc&, SwPaM&) (this=0x8a65a00, 
rDoc=..., rPam=SwPaM = {...}) at sw/source/core/undo/unredln.cxx:198
    
    Change-Id: I7f36705f1abb2df97a00b359e40534aef0e10d93
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99524
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@cib.de>
    (cherry picked from commit b33034e7faee2cb8a602ed3342803bf731da8a8b)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99582
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sw/source/core/text/txtfrm.cxx b/sw/source/core/text/txtfrm.cxx
index 6b6771ad93d9..6445b593e5f8 100644
--- a/sw/source/core/text/txtfrm.cxx
+++ b/sw/source/core/text/txtfrm.cxx
@@ -1009,6 +1009,11 @@ static TextFrameIndex 
UpdateMergedParaForInsert(MergedPara & rMerged,
             rMerged.pParaPropsNode = &const_cast<SwTextNode&>(rNode);
             rMerged.pParaPropsNode->AddToListRLHidden();
         }
+        // called from SwRangeRedline::InvalidateRange()
+        if (rNode.GetRedlineMergeFlag() == SwNode::Merge::Hidden)
+        {
+            
const_cast<SwTextNode&>(rNode).SetRedlineMergeFlag(SwNode::Merge::NonFirst);
+        }
     }
     rMerged.mergedText = text.makeStringAndClear();
     return TextFrameIndex(nInserted);
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to