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

Michael Stahl (via logerrit) logerrit at kemper.freedesktop.org
Thu Aug 1 07:43:51 UTC 2019


 sw/source/core/doc/docredln.cxx  |    3 ++-
 sw/source/core/text/redlnitr.cxx |   10 +++++-----
 sw/source/core/text/txtfrm.cxx   |    4 ++--
 3 files changed, 9 insertions(+), 8 deletions(-)

New commits:
commit beec1594587d0bf1ea2268f9a435c948b5580278
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Thu May 16 15:21:18 2019 +0200
Commit:     László Németh <nemeth at numbertext.org>
CommitDate: Thu Aug 1 09:43:10 2019 +0200

    tdf#125319 sw_redlinehide: handle empty paragraphs more like Word
    
    Partially revert commit c20308f1b919ca5ce61233068946e5fddb7eadb3
    Partially revert commit 4439427aadeaa0cb611011b46f0fa14bfa196f33
        "#i100466# correction for showing and hiding redlines"
    
    This gets us somewhat closer to what Word does but not exactly the same;
    Word actually creates a separate formatting redline about paragraph
    property changes at the time when you merge the paragraphs, but Writer's
    formatting redlines are quite unhelpful.
    
    Unfortunately ODF documents from OOo 3.2 and later (possibly also
    pre-3.0, haven't checked that) will look different if they contain such
    redlines.
    
    Change-Id: I6ca67e45d805014dd0b94b0ff063780fce4207c6
    Reviewed-on: https://gerrit.libreoffice.org/72425
    Tested-by: Jenkins
    Reviewed-by: László Németh <nemeth at numbertext.org>

diff --git a/sw/source/core/doc/docredln.cxx b/sw/source/core/doc/docredln.cxx
index d18a30541dcf..4bbfb6da14df 100644
--- a/sw/source/core/doc/docredln.cxx
+++ b/sw/source/core/doc/docredln.cxx
@@ -1458,7 +1458,8 @@ void SwRangeRedline::DelCopyOfSection(size_t nMyPos)
         if( pCSttNd && pCEndNd )
         {
             // #i100466# - force a <join next> on <delete and join> operation
-            pDoc->getIDocumentContentOperations().DeleteAndJoin( aPam, true );
+            // tdf#125319 - rather not?
+            pDoc->getIDocumentContentOperations().DeleteAndJoin(aPam/*, true*/);
         }
         else if( pCSttNd || pCEndNd )
         {
diff --git a/sw/source/core/text/redlnitr.cxx b/sw/source/core/text/redlnitr.cxx
index 6133b08ce1bb..0f26c0324a68 100644
--- a/sw/source/core/text/redlnitr.cxx
+++ b/sw/source/core/text/redlnitr.cxx
@@ -82,8 +82,8 @@ CheckParaRedlineMerge(SwTextFrame & rFrame, SwTextNode & rTextNode,
         SwPosition const*const pStart(pRed->Start());
         SwPosition const*const pEnd(pRed->End());
         if (*pStart == *pEnd)
-        {   // only allowed while moving
-            assert(IDocumentRedlineAccess::IsHideChanges(rIDRA.GetRedlineFlags()));
+        {   // only allowed while moving (either way?)
+//            assert(IDocumentRedlineAccess::IsHideChanges(rIDRA.GetRedlineFlags()));
             continue;
         }
         if (pStart->nNode.GetNode().IsTableNode())
@@ -222,14 +222,14 @@ CheckParaRedlineMerge(SwTextFrame & rFrame, SwTextNode & rTextNode,
     if (extents.empty()) // there was no text anywhere
     {
         assert(mergedText.isEmpty());
-//        pParaPropsNode = &rTextNode; // if every node is empty, the first one wins
+        pParaPropsNode = &rTextNode; // if every node is empty, the first one wins
     }
     else
     {
         assert(!mergedText.isEmpty());
-//        pParaPropsNode = extents.begin()->pNode; // para props from first node that isn't empty
+        pParaPropsNode = extents.begin()->pNode; // para props from first node that isn't empty
     }
-    pParaPropsNode = &rTextNode; // well, actually...
+//    pParaPropsNode = &rTextNode; // well, actually...
     // keep lists up to date with visible nodes
     if (pParaPropsNode->IsInList() && !pParaPropsNode->GetNum(rFrame.getRootFrame()))
     {
diff --git a/sw/source/core/text/txtfrm.cxx b/sw/source/core/text/txtfrm.cxx
index 5dc660ba0d4a..6d3e78bb9c79 100644
--- a/sw/source/core/text/txtfrm.cxx
+++ b/sw/source/core/text/txtfrm.cxx
@@ -1135,7 +1135,7 @@ TextFrameIndex UpdateMergedParaForDelete(MergedPara & rMerged,
     // pFirstNode is never updated
     if (nErased && nErased == nFoundNode)
     {   // all visible text from node was erased
-#if 0
+#if 1
         if (rMerged.pParaPropsNode == &rNode)
         {
             rMerged.pParaPropsNode->RemoveFromListRLHidden();
@@ -1296,7 +1296,7 @@ SwTextNode const* SwTextFrame::GetTextNodeForParaProps() const
     sw::MergedPara const*const pMerged(GetMergedPara());
     if (pMerged)
     {
-        assert(pMerged->pFirstNode == pMerged->pParaPropsNode); // surprising news!
+//        assert(pMerged->pFirstNode == pMerged->pParaPropsNode); // surprising news!
         return pMerged->pParaPropsNode;
     }
     else


More information about the Libreoffice-commits mailing list