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

Oliver-Rainer Wittmann orw at apache.org
Fri Feb 28 03:42:30 PST 2014


 sw/source/core/doc/docedt.cxx      |   52 +++++++++++-----------
 sw/source/core/doc/docredln.cxx    |   16 ++++---
 sw/source/core/edit/edundo.cxx     |    2 
 sw/source/core/inc/UndoRedline.hxx |   10 ++--
 sw/source/core/undo/undobj.cxx     |   84 ++++++++++++++++++++-----------------
 sw/source/core/undo/unredln.cxx    |   54 +++++++++++------------
 6 files changed, 115 insertions(+), 103 deletions(-)

New commits:
commit 22aea93d508d8051a5f5d1a472874ba4eca2f296
Author: Oliver-Rainer Wittmann <orw at apache.org>
Date:   Thu Feb 27 14:00:06 2014 +0000

    Related: #i123480# assure correct Undo/Redo with not shown tracked changes
    
    (cherry picked from commit e8613c7e3b76a83d804d28199fdeacc6369569c6)
    
    Conflicts:
    	sw/source/core/doc/docedt.cxx
    	sw/source/core/undo/undobj.cxx
    	sw/source/core/undo/unredln.cxx
    
    Change-Id: I45c25aa957995109b202e2130e5344b1bbb09669

diff --git a/sw/source/core/doc/docedt.cxx b/sw/source/core/doc/docedt.cxx
index 801593d..aa10b74 100644
--- a/sw/source/core/doc/docedt.cxx
+++ b/sw/source/core/doc/docedt.cxx
@@ -1480,52 +1480,50 @@ bool SwDoc::DeleteAndJoinWithRedlineImpl( SwPaM & rPam, const bool )
     {
         SwUndoRedlineDelete* pUndo = 0;
         RedlineMode_t eOld = GetRedlineMode();
-        checkRedlining(eOld);
+        checkRedlining( eOld );
         if (GetIDocumentUndoRedo().DoesUndo())
         {
 
-    /* please don't translate -- for cultural reasons this comment is protected
-       until the redline implementation is finally fixed some day */
-//JP 06.01.98: MUSS noch optimiert werden!!!
-    SetRedlineMode(
-           (RedlineMode_t)(nsRedlineMode_t::REDLINE_ON | nsRedlineMode_t::REDLINE_SHOW_INSERT | nsRedlineMode_t::REDLINE_SHOW_DELETE ));
+            /* please don't translate -- for cultural reasons this comment is protected
+               until the redline implementation is finally fixed some day */
+            //JP 06.01.98: MUSS noch optimiert werden!!!
+            SetRedlineMode(
+                (RedlineMode_t) ( nsRedlineMode_t::REDLINE_ON | nsRedlineMode_t::REDLINE_SHOW_INSERT | nsRedlineMode_t::REDLINE_SHOW_DELETE ) );
 
-            GetIDocumentUndoRedo().StartUndo(UNDO_EMPTY, NULL);
+            GetIDocumentUndoRedo().StartUndo( UNDO_DELETE, NULL );
             pUndo = new SwUndoRedlineDelete( rPam, UNDO_DELETE );
-            GetIDocumentUndoRedo().AppendUndo(pUndo);
+            GetIDocumentUndoRedo().AppendUndo( pUndo );
         }
-        if( *rPam.GetPoint() != *rPam.GetMark() )
-            AppendRedline( new SwRangeRedline( nsRedlineType_t::REDLINE_DELETE, rPam ), true);
+
+        if ( *rPam.GetPoint() != *rPam.GetMark() )
+            AppendRedline( new SwRangeRedline( nsRedlineType_t::REDLINE_DELETE, rPam ), true );
         SetModified();
 
-        if( pUndo )
+        if ( pUndo )
         {
-            GetIDocumentUndoRedo().EndUndo(UNDO_EMPTY, NULL);
+            GetIDocumentUndoRedo().EndUndo( UNDO_EMPTY, NULL );
             // ??? why the hell is the AppendUndo not below the
             // CanGrouping, so this hideous cleanup wouldn't be necessary?
             // bah, this is redlining, probably changing this would break it...
-            if (GetIDocumentUndoRedo().DoesGroupUndo())
+            if ( GetIDocumentUndoRedo().DoesGroupUndo() )
             {
-                SwUndo *const pLastUndo( GetUndoManager().GetLastUndo() );
-                SwUndoRedlineDelete *const pUndoRedlineDel(
-                        dynamic_cast<SwUndoRedlineDelete*>(pLastUndo) );
-                if (pUndoRedlineDel)
+                SwUndo * const pLastUndo( GetUndoManager().GetLastUndo() );
+                SwUndoRedlineDelete * const pUndoRedlineDel( dynamic_cast< SwUndoRedlineDelete* >( pLastUndo ) );
+                if ( pUndoRedlineDel )
                 {
-                    bool const bMerged = pUndoRedlineDel->CanGrouping(*pUndo);
-                    if (bMerged)
+                    bool const bMerged = pUndoRedlineDel->CanGrouping( *pUndo );
+                    if ( bMerged )
                     {
-                        ::sw::UndoGuard const undoGuard(GetIDocumentUndoRedo());
-                        SwUndo const*const pDeleted =
-                            GetUndoManager().RemoveLastUndo();
-                        OSL_ENSURE(pDeleted == pUndo,
-                            "DeleteAndJoinWithRedlineImpl: "
-                            "undo removed is not undo inserted?");
+                        ::sw::UndoGuard const undoGuard( GetIDocumentUndoRedo() );
+                        SwUndo const* const pDeleted = GetUndoManager().RemoveLastUndo();
+                        OSL_ENSURE( pDeleted == pUndo, "DeleteAndJoinWithRedlineImpl: "
+                            "undo removed is not undo inserted?" );
                         delete pDeleted;
                     }
                 }
             }
-//JP 06.01.98: MUSS noch optimiert werden!!!
-SetRedlineMode( eOld );
+            //JP 06.01.98: MUSS noch optimiert werden!!!
+            SetRedlineMode( eOld );
         }
         return true;
     }
diff --git a/sw/source/core/doc/docredln.cxx b/sw/source/core/doc/docredln.cxx
index 3ea13c0..8b93c4f 100644
--- a/sw/source/core/doc/docredln.cxx
+++ b/sw/source/core/doc/docredln.cxx
@@ -3079,12 +3079,16 @@ SwRedlineData::SwRedlineData( RedlineType_t eT, sal_uInt16 nAut )
     aStamp.SetNanoSec( 0 );
 }
 
-SwRedlineData::SwRedlineData( const SwRedlineData& rCpy, sal_Bool bCpyNext )
-    :
-    pNext( (bCpyNext && rCpy.pNext) ? new SwRedlineData( *rCpy.pNext ) : 0 ),
-    pExtraData( rCpy.pExtraData ? rCpy.pExtraData->CreateNew() : 0 ),
-    sComment( rCpy.sComment ), aStamp( rCpy.aStamp ), eType( rCpy.eType ),
-    nAuthor( rCpy.nAuthor ), nSeqNo( rCpy.nSeqNo )
+SwRedlineData::SwRedlineData(
+    const SwRedlineData& rCpy,
+    sal_Bool bCpyNext )
+    : pNext( ( bCpyNext && rCpy.pNext ) ? new SwRedlineData( *rCpy.pNext ) : 0 )
+    , pExtraData( rCpy.pExtraData ? rCpy.pExtraData->CreateNew() : 0 )
+    , sComment( rCpy.sComment )
+    , aStamp( rCpy.aStamp )
+    , eType( rCpy.eType )
+    , nAuthor( rCpy.nAuthor )
+    , nSeqNo( rCpy.nSeqNo )
 {
 }
 
diff --git a/sw/source/core/edit/edundo.cxx b/sw/source/core/edit/edundo.cxx
index 4fa0cee..266828a 100644
--- a/sw/source/core/edit/edundo.cxx
+++ b/sw/source/core/edit/edundo.cxx
@@ -121,7 +121,7 @@ bool SwEditShell::Undo(sal_uInt16 const nCount)
         // Destroy stored TableBoxPtr. A dection is only permitted for the new "Box"!
         ClearTblBoxCntnt();
 
-        RedlineMode_t eOld = GetDoc()->GetRedlineMode();
+        const RedlineMode_t eOld = GetDoc()->GetRedlineMode();
 
         try {
             for (sal_uInt16 i = 0; i < nCount; ++i)
diff --git a/sw/source/core/inc/UndoRedline.hxx b/sw/source/core/inc/UndoRedline.hxx
index 946e410..0a94327 100644
--- a/sw/source/core/inc/UndoRedline.hxx
+++ b/sw/source/core/inc/UndoRedline.hxx
@@ -30,10 +30,10 @@ class SwUndoDelete;
 class SwUndoRedline : public SwUndo, public SwUndRng
 {
 protected:
-    SwRedlineData* pRedlData;
-    SwRedlineSaveDatas* pRedlSaveData;
-    SwUndoId nUserId;
-    sal_Bool bHiddenRedlines;
+    SwRedlineData* mpRedlData;
+    SwRedlineSaveDatas* mpRedlSaveData;
+    SwUndoId mnUserId;
+    sal_Bool mbHiddenRedlines;
 
     virtual void UndoRedlineImpl(SwDoc & rDoc, SwPaM & rPam);
     virtual void RedoRedlineImpl(SwDoc & rDoc, SwPaM & rPam);
@@ -46,7 +46,7 @@ public:
     virtual void UndoImpl( ::sw::UndoRedoContext & );
     virtual void RedoImpl( ::sw::UndoRedoContext & );
 
-    SwUndoId GetUserId() const { return nUserId; }
+    SwUndoId GetUserId() const { return mnUserId; }
     sal_uInt16 GetRedlSaveCount() const;
 };
 
diff --git a/sw/source/core/undo/undobj.cxx b/sw/source/core/undo/undobj.cxx
index d1fcd03..9f45a4a 100644
--- a/sw/source/core/undo/undobj.cxx
+++ b/sw/source/core/undo/undobj.cxx
@@ -39,17 +39,23 @@
 #include <comcore.hrc>
 #include <docsh.hxx>
 
-class SwRedlineSaveData : public SwUndRng, public SwRedlineData,
-                          private SwUndoSaveSection
+class SwRedlineSaveData: public SwUndRng, public SwRedlineData, private SwUndoSaveSection
 {
 public:
-    SwRedlineSaveData( SwComparePosition eCmpPos,
-                        const SwPosition& rSttPos, const SwPosition& rEndPos,
-                        SwRangeRedline& rRedl, sal_Bool bCopyNext );
+    SwRedlineSaveData(
+        SwComparePosition eCmpPos,
+        const SwPosition& rSttPos,
+        const SwPosition& rEndPos,
+        SwRangeRedline& rRedl );
+
     ~SwRedlineSaveData();
+
     void RedlineToDoc( SwPaM& rPam );
+
     SwNodeIndex* GetMvSttIdx() const
-        { return SwUndoSaveSection::GetMvSttIdx(); }
+    {
+        return SwUndoSaveSection::GetMvSttIdx();
+    }
 
 #if OSL_DEBUG_LEVEL > 0
     sal_uInt16 nRedlineCount;
@@ -226,7 +232,7 @@ void SwUndo::UndoWithContext(SfxUndoContext & rContext)
             dynamic_cast< ::sw::UndoRedoContext * >(& rContext));
     assert(pContext);
     if (!pContext) { return; }
-    UndoRedoRedlineGuard const g(*pContext, *this);
+    const UndoRedoRedlineGuard aUndoRedoRedlineGuard(*pContext, *this);
     UndoImpl(*pContext);
 }
 
@@ -236,7 +242,7 @@ void SwUndo::RedoWithContext(SfxUndoContext & rContext)
             dynamic_cast< ::sw::UndoRedoContext * >(& rContext));
     assert(pContext);
     if (!pContext) { return; }
-    UndoRedoRedlineGuard const g(*pContext, *this);
+    const UndoRedoRedlineGuard aUndoRedoRedlineGuard(*pContext, *this);
     RedoImpl(*pContext);
 }
 
@@ -903,18 +909,18 @@ void SwUndoSaveSection::RestoreSection( SwDoc* pDoc, const SwNodeIndex& rInsPos
 }
 
 // save and set the RedlineData
-SwRedlineSaveData::SwRedlineSaveData( SwComparePosition eCmpPos,
-                                        const SwPosition& rSttPos,
-                                        const SwPosition& rEndPos,
-                                        SwRangeRedline& rRedl,
-                                        sal_Bool bCopyNext )
-    : SwUndRng( rRedl ),
-    SwRedlineData( rRedl.GetRedlineData(), bCopyNext )
+SwRedlineSaveData::SwRedlineSaveData(
+    SwComparePosition eCmpPos,
+    const SwPosition& rSttPos,
+    const SwPosition& rEndPos,
+    SwRangeRedline& rRedl )
+    : SwUndRng( rRedl )
+    , SwRedlineData( rRedl.GetRedlineData(), true )
 {
     assert( POS_OUTSIDE == eCmpPos ||
             !rRedl.GetContentIdx() ); // "Redline with Content"
 
-    switch( eCmpPos )
+    switch (eCmpPos)
     {
     case POS_OVERLAP_BEFORE:        // Pos1 overlaps Pos2 at the beginning
         nEndNode = rEndPos.nNode.GetIndex();
@@ -933,7 +939,7 @@ SwRedlineSaveData::SwRedlineSaveData( SwComparePosition eCmpPos,
         break;
 
     case POS_OUTSIDE:               // Pos2 lays completely in Pos1
-        if( rRedl.GetContentIdx() )
+        if ( rRedl.GetContentIdx() )
         {
             // than move section into UndoArray and memorize it
             SaveSection( rRedl.GetDoc(), *rRedl.GetContentIdx() );
@@ -988,27 +994,31 @@ void SwRedlineSaveData::RedlineToDoc( SwPaM& rPam )
     rDoc.SetRedlineMode_intern( eOld );
 }
 
-sal_Bool SwUndo::FillSaveData( const SwPaM& rRange, SwRedlineSaveDatas& rSData,
-                            sal_Bool bDelRange, sal_Bool bCopyNext )
+sal_Bool SwUndo::FillSaveData(
+    const SwPaM& rRange,
+    SwRedlineSaveDatas& rSData,
+    sal_Bool bDelRange,
+    sal_Bool bCopyNext )
 {
     rSData.DeleteAndDestroyAll();
 
     SwRedlineSaveData* pNewData;
-    const SwPosition *pStt = rRange.Start(), *pEnd = rRange.End();
+    const SwPosition* pStt = rRange.Start();
+    const SwPosition* pEnd = rRange.End();
     const SwRedlineTbl& rTbl = rRange.GetDoc()->GetRedlineTbl();
     sal_uInt16 n = 0;
     rRange.GetDoc()->GetRedline( *pStt, &n );
-    for( ; n < rTbl.size(); ++n )
+    for ( ; n < rTbl.size(); ++n )
     {
-        SwRangeRedline* pRedl = rTbl[ n ];
-        const SwPosition *pRStt = pRedl->Start(), *pREnd = pRedl->End();
-
-        SwComparePosition eCmpPos = ComparePosition( *pStt, *pEnd, *pRStt, *pREnd );
-        if( POS_BEFORE != eCmpPos && POS_BEHIND != eCmpPos &&
-            POS_COLLIDE_END != eCmpPos && POS_COLLIDE_START != eCmpPos )
+        SwRangeRedline* pRedl = rTbl[n];
+        const SwComparePosition eCmpPos =
+            ComparePosition( *pStt, *pEnd, *pRedl->Start(), *pRedl->End() );
+        if ( eCmpPos != POS_BEFORE
+             && eCmpPos != POS_BEHIND
+             && eCmpPos != POS_COLLIDE_END
+             && eCmpPos != POS_COLLIDE_START )
         {
-            pNewData = new SwRedlineSaveData( eCmpPos, *pStt, *pEnd,
-                                                *pRedl, bCopyNext );
+            pNewData = new SwRedlineSaveData( eCmpPos, *pStt, *pEnd, *pRedl );
             rSData.push_back( pNewData );
         }
     }
@@ -1017,7 +1027,9 @@ sal_Bool SwUndo::FillSaveData( const SwPaM& rRange, SwRedlineSaveDatas& rSData,
     return !rSData.empty();
 }
 
-sal_Bool SwUndo::FillSaveDataForFmt( const SwPaM& rRange, SwRedlineSaveDatas& rSData )
+sal_Bool SwUndo::FillSaveDataForFmt(
+    const SwPaM& rRange,
+    SwRedlineSaveDatas& rSData )
 {
     rSData.DeleteAndDestroyAll();
 
@@ -1026,19 +1038,17 @@ sal_Bool SwUndo::FillSaveDataForFmt( const SwPaM& rRange, SwRedlineSaveDatas& rS
     const SwRedlineTbl& rTbl = rRange.GetDoc()->GetRedlineTbl();
     sal_uInt16 n = 0;
     rRange.GetDoc()->GetRedline( *pStt, &n );
-    for( ; n < rTbl.size(); ++n )
+    for ( ; n < rTbl.size(); ++n )
     {
-        SwRangeRedline* pRedl = rTbl[ n ];
-        if( nsRedlineType_t::REDLINE_FORMAT == pRedl->GetType() )
+        SwRangeRedline* pRedl = rTbl[n];
+        if ( nsRedlineType_t::REDLINE_FORMAT == pRedl->GetType() )
         {
             const SwPosition *pRStt = pRedl->Start(), *pREnd = pRedl->End();
 
             SwComparePosition eCmpPos = ComparePosition( *pStt, *pEnd, *pRStt, *pREnd );
-            if( POS_BEFORE != eCmpPos && POS_BEHIND != eCmpPos &&
-                POS_COLLIDE_END != eCmpPos && POS_COLLIDE_START != eCmpPos )
+            if ( POS_BEFORE != eCmpPos && POS_BEHIND != eCmpPos && POS_COLLIDE_END != eCmpPos && POS_COLLIDE_START != eCmpPos )
             {
-                pNewData = new SwRedlineSaveData( eCmpPos, *pStt, *pEnd,
-                                                    *pRedl, sal_True );
+                pNewData = new SwRedlineSaveData( eCmpPos, *pStt, *pEnd, *pRedl );
                 rSData.push_back( pNewData );
             }
 
diff --git a/sw/source/core/undo/unredln.cxx b/sw/source/core/undo/unredln.cxx
index 03e4e53..a7df649 100644
--- a/sw/source/core/undo/unredln.cxx
+++ b/sw/source/core/undo/unredln.cxx
@@ -36,18 +36,18 @@ extern void sw_GetJoinFlags( SwPaM& rPam, sal_Bool& rJoinTxt, sal_Bool& rJoinPre
 
 SwUndoRedline::SwUndoRedline( SwUndoId nUsrId, const SwPaM& rRange )
     : SwUndo( UNDO_REDLINE ), SwUndRng( rRange ),
-    pRedlData( 0 ), pRedlSaveData( 0 ), nUserId( nUsrId ),
-    bHiddenRedlines( sal_False )
+    mpRedlData( 0 ), mpRedlSaveData( 0 ), mnUserId( nUsrId ),
+    mbHiddenRedlines( sal_False )
 {
     // consider Redline
     SwDoc& rDoc = *rRange.GetDoc();
     if( rDoc.IsRedlineOn() )
     {
-        switch( nUserId )
+        switch( mnUserId )
         {
         case UNDO_DELETE:
         case UNDO_REPLACE:
-            pRedlData = new SwRedlineData( nsRedlineType_t::REDLINE_DELETE, rDoc.GetRedlineAuthor() );
+            mpRedlData = new SwRedlineData( nsRedlineType_t::REDLINE_DELETE, rDoc.GetRedlineAuthor() );
             break;
         default:
             ;
@@ -57,14 +57,14 @@ SwUndoRedline::SwUndoRedline( SwUndoId nUsrId, const SwPaM& rRange )
 
     sal_uLong nEndExtra = rDoc.GetNodes().GetEndOfExtras().GetIndex();
 
-    pRedlSaveData = new SwRedlineSaveDatas;
-    if( !FillSaveData( rRange, *pRedlSaveData, sal_False,
-                        UNDO_REJECT_REDLINE != nUserId ))
-        delete pRedlSaveData, pRedlSaveData = 0;
+    mpRedlSaveData = new SwRedlineSaveDatas;
+    if( !FillSaveData( rRange, *mpRedlSaveData, sal_False,
+                        UNDO_REJECT_REDLINE != mnUserId ))
+        delete mpRedlSaveData, mpRedlSaveData = 0;
     else
     {
-        bHiddenRedlines = HasHiddenRedlines( *pRedlSaveData );
-        if( bHiddenRedlines )           // then the NodeIndices of SwUndRng need to be corrected
+        mbHiddenRedlines = HasHiddenRedlines( *mpRedlSaveData );
+        if( mbHiddenRedlines )           // then the NodeIndices of SwUndRng need to be corrected
         {
             nEndExtra -= rDoc.GetNodes().GetEndOfExtras().GetIndex();
             nSttNode -= nEndExtra;
@@ -75,13 +75,13 @@ SwUndoRedline::SwUndoRedline( SwUndoId nUsrId, const SwPaM& rRange )
 
 SwUndoRedline::~SwUndoRedline()
 {
-    delete pRedlData;
-    delete pRedlSaveData;
+    delete mpRedlData;
+    delete mpRedlSaveData;
 }
 
 sal_uInt16 SwUndoRedline::GetRedlSaveCount() const
 {
-    return pRedlSaveData ? pRedlSaveData->size() : 0;
+    return mpRedlSaveData ? mpRedlSaveData->size() : 0;
 }
 
 void SwUndoRedline::UndoImpl(::sw::UndoRedoContext & rContext)
@@ -91,13 +91,13 @@ void SwUndoRedline::UndoImpl(::sw::UndoRedoContext & rContext)
 
     UndoRedlineImpl(*pDoc, rPam);
 
-    if( pRedlSaveData )
+    if( mpRedlSaveData )
     {
         sal_uLong nEndExtra = pDoc->GetNodes().GetEndOfExtras().GetIndex();
-        SetSaveData( *pDoc, *pRedlSaveData );
-        if( bHiddenRedlines )
+        SetSaveData( *pDoc, *mpRedlSaveData );
+        if( mbHiddenRedlines )
         {
-            pRedlSaveData->DeleteAndDestroyAll();
+            mpRedlSaveData->DeleteAndDestroyAll();
 
             nEndExtra = pDoc->GetNodes().GetEndOfExtras().GetIndex() - nEndExtra;
             nSttNode += nEndExtra;
@@ -114,11 +114,11 @@ void SwUndoRedline::RedoImpl(::sw::UndoRedoContext & rContext)
     pDoc->SetRedlineMode_intern((RedlineMode_t)(( eOld & ~nsRedlineMode_t::REDLINE_IGNORE) | nsRedlineMode_t::REDLINE_ON ));
 
     SwPaM & rPam( AddUndoRedoPaM(rContext) );
-    if( pRedlSaveData && bHiddenRedlines )
+    if( mpRedlSaveData && mbHiddenRedlines )
     {
         sal_uLong nEndExtra = pDoc->GetNodes().GetEndOfExtras().GetIndex();
-        FillSaveData(rPam, *pRedlSaveData, sal_False,
-                        UNDO_REJECT_REDLINE != nUserId );
+        FillSaveData(rPam, *mpRedlSaveData, sal_False,
+                        UNDO_REJECT_REDLINE != mnUserId );
 
         nEndExtra -= pDoc->GetNodes().GetEndOfExtras().GetIndex();
         nSttNode -= nEndExtra;
@@ -146,7 +146,7 @@ SwUndoRedlineDelete::SwUndoRedlineDelete( const SwPaM& rRange, SwUndoId nUsrId )
     bCanGroup( sal_False ), bIsDelim( sal_False ), bIsBackspace( sal_False )
 {
     const SwTxtNode* pTNd;
-    if( UNDO_DELETE == nUserId &&
+    if( UNDO_DELETE == mnUserId &&
         nSttNode == nEndNode && nSttCntnt + 1 == nEndCntnt &&
         0 != (pTNd = rRange.GetNode()->GetTxtNode()) )
     {
@@ -172,14 +172,14 @@ void SwUndoRedlineDelete::RedoRedlineImpl(SwDoc & rDoc, SwPaM & rPam)
 {
     if (rPam.GetPoint() != rPam.GetMark())
     {
-        rDoc.AppendRedline( new SwRangeRedline(*pRedlData, rPam), false );
+        rDoc.AppendRedline( new SwRangeRedline(*mpRedlData, rPam), false );
     }
 }
 
 sal_Bool SwUndoRedlineDelete::CanGrouping( const SwUndoRedlineDelete& rNext )
 {
     sal_Bool bRet = sal_False;
-    if( UNDO_DELETE == nUserId && nUserId == rNext.nUserId &&
+    if( UNDO_DELETE == mnUserId && mnUserId == rNext.mnUserId &&
         bCanGroup == rNext.bCanGroup &&
         bIsDelim == rNext.bIsDelim &&
         bIsBackspace == rNext.bIsBackspace &&
@@ -194,10 +194,10 @@ sal_Bool SwUndoRedlineDelete::CanGrouping( const SwUndoRedlineDelete& rNext )
             bIsEnd = -1;
 
         if( bIsEnd &&
-            (( !pRedlSaveData && !rNext.pRedlSaveData ) ||
-             ( pRedlSaveData && rNext.pRedlSaveData &&
-                SwUndo::CanRedlineGroup( *pRedlSaveData,
-                            *rNext.pRedlSaveData, 1 != bIsEnd )
+            (( !mpRedlSaveData && !rNext.mpRedlSaveData ) ||
+             ( mpRedlSaveData && rNext.mpRedlSaveData &&
+                SwUndo::CanRedlineGroup( *mpRedlSaveData,
+                            *rNext.mpRedlSaveData, 1 != bIsEnd )
              )))
         {
             if( 1 == bIsEnd )


More information about the Libreoffice-commits mailing list