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

Michael Stahl mstahl at redhat.com
Wed Dec 13 16:18:00 UTC 2017


 sw/source/core/doc/DocumentRedlineManager.cxx |    4 ----
 1 file changed, 4 deletions(-)

New commits:
commit 0999ac11796d2f2c7439df8c5f65d73119716a7d
Author: Michael Stahl <mstahl at redhat.com>
Date:   Wed Dec 6 22:28:05 2017 +0100

    ofz#4518 sw: why do we need to set IgnoreDeleteRedlines
    
    This mysterious IgnoreDeleteRedlines flag was set in this particular
    case of a new DELETE redline inside or equal to an existing INSERT
    redline since initial import.
    
    Why it's needed is documented nowhere.
    
    If it is needed, then i'm assuming it's only needed to prevent
    deleting redlines that are actually in the pNewRedl range;
    it makes no sense to prevent deletion of redlines inside a footnote
    when that footnote is deleted, because there is no valid
    position left for such redlines.
    
    The problem here is that in the range that is deleted there is a
    footnote and there is another redline inside the footnote text
    and that has its positions corrected rather ridiculously by
    DelBookmarks() because DeleteRedline() ignored it due to the flag.
    
    Remove the call to MaybeNotifyRedlineModification(), to fix a
    SwTiledRenderingTest::testRedlineUpdateCallback failure,
    assuming that it is only called to compensate for the flag
    being set, seeing as this is the only such call in AppendRedline.
    
    Change-Id: I0f266213b8525f7bee06ee0d56290f4524bf0d85
    Reviewed-on: https://gerrit.libreoffice.org/46016
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>

diff --git a/sw/source/core/doc/DocumentRedlineManager.cxx b/sw/source/core/doc/DocumentRedlineManager.cxx
index 5fc5ada08205..6aad179ab11e 100644
--- a/sw/source/core/doc/DocumentRedlineManager.cxx
+++ b/sw/source/core/doc/DocumentRedlineManager.cxx
@@ -1224,8 +1224,6 @@ DocumentRedlineManager::AppendRedline(SwRangeRedline* pNewRedl, bool const bCall
                         case SwComparePosition::Inside:
                             if( bCallDelete )
                             {
-                                meRedlineFlags |= RedlineFlags::IgnoreDeleteRedlines;
-
                                 // DeleteAndJoin does not yield the
                                 // desired result if there is no paragraph to
                                 // join with, i.e. at the end of the document.
@@ -1247,8 +1245,6 @@ DocumentRedlineManager::AppendRedline(SwRangeRedline* pNewRedl, bool const bCall
                             }
                             delete pNewRedl;
                             pNewRedl = nullptr;
-                            if (eCmpPos == SwComparePosition::Inside)
-                                MaybeNotifyRedlineModification(pRedl, &m_rDoc);
                             break;
 
                         case SwComparePosition::Outside:


More information about the Libreoffice-commits mailing list