Hi

I converted the SV PTRARR_DEL to boost::ptr_vector in sw component.
Could you please check and push this path?
This and later contributions is licensed under MPL 1.1 / GPL v3+ / LGPL v3+.

Best Regards
Bartosz
From 0af592927b760e31ed23e4c6bcedc58d29cb4a9d Mon Sep 17 00:00:00 2001
From: Bartosz Kosiorek <gan...@poczta.onet.pl>
Date: Sun, 25 Mar 2012 23:46:01 +0200
Subject: [PATCH] Convert SV_PTRARR_DEL to boost::ptr_vector

---
 sw/source/core/doc/docedt.cxx |   36 +++++++++++++++++-------------------
 1 files changed, 17 insertions(+), 19 deletions(-)

diff --git a/sw/source/core/doc/docedt.cxx b/sw/source/core/doc/docedt.cxx
index 6c73ba1..2573d7e 100644
--- a/sw/source/core/doc/docedt.cxx
+++ b/sw/source/core/doc/docedt.cxx
@@ -161,9 +161,7 @@ struct _SaveRedline
     }
 };
 
-SV_DECL_PTRARR_DEL( _SaveRedlines, _SaveRedline*, 0 )
-
-SV_IMPL_PTRARR( _SaveRedlines, _SaveRedline* )
+typedef boost::ptr_vector< _SaveRedline > _SaveRedlines;
 
 bool lcl_MayOverwrite( const SwTxtNode *pNode, const xub_StrLen nPos )
 {
@@ -532,7 +530,7 @@ void lcl_SaveRedlines( const SwPaM& aPam, _SaveRedlines& rArr )
 
             // save the current redline
             _SaveRedline* pSave = new _SaveRedline( pCurrent, *pStart );
-            rArr.C40_INSERT( _SaveRedline, pSave, rArr.Count() );
+            rArr.push_back( pSave );
         }
     }
 
@@ -545,11 +543,11 @@ void lcl_RestoreRedlines( SwDoc* pDoc, const SwPosition& rPos, _SaveRedlines& rA
     RedlineMode_t eOld = pDoc->GetRedlineMode();
     pDoc->SetRedlineMode_intern( (RedlineMode_t)(( eOld & ~nsRedlineMode_t::REDLINE_IGNORE) | nsRedlineMode_t::REDLINE_ON ));
 
-    for( sal_uInt16 n = 0; n < rArr.Count(); ++n )
+    for( size_t n = 0; n < rArr.size(); ++n )
     {
-        _SaveRedline* pSave = rArr[ n ];
-        pSave->SetPos( rPos );
-        pDoc->AppendRedline( pSave->pRedl, true );
+        //_SaveRedline* pSave = rArr[ n ];
+        rArr[ n ].SetPos( rPos );
+        pDoc->AppendRedline( rArr[ n ].pRedl, true );
     }
 
     pDoc->SetRedlineMode_intern( eOld );
@@ -590,7 +588,7 @@ void lcl_SaveRedlines( const SwNodeRange& rRg, _SaveRedlines& rArr )
                             pTmpPos->nNode.GetNode().GetCntntNode(), 0 );
 
                 _SaveRedline* pSave = new _SaveRedline( pNewRedl, rRg.aStart );
-                rArr.C40_INSERT( _SaveRedline, pSave, rArr.Count() );
+                rArr.push_back( pSave );
 
                 pTmpPos = pTmp->End();
                 pTmpPos->nNode = rRg.aEnd;
@@ -613,7 +611,7 @@ void lcl_SaveRedlines( const SwNodeRange& rRg, _SaveRedlines& rArr )
             {
                 // move everything
                 _SaveRedline* pSave = new _SaveRedline( pTmp, rRg.aStart );
-                rArr.C40_INSERT( _SaveRedline, pSave, rArr.Count() );
+                rArr.push_back( pSave );
             }
             else
             {
@@ -625,7 +623,7 @@ void lcl_SaveRedlines( const SwNodeRange& rRg, _SaveRedlines& rArr )
                             pTmpPos->nNode.GetNode().GetCntntNode(), 0 );
 
                 _SaveRedline* pSave = new _SaveRedline( pNewRedl, rRg.aStart );
-                rArr.C40_INSERT( _SaveRedline, pSave, rArr.Count() );
+                rArr.push_back( pSave );
 
                 pTmpPos = pTmp->Start();
                 pTmpPos->nNode = rRg.aEnd;
@@ -646,11 +644,11 @@ void lcl_RestoreRedlines( SwDoc* pDoc, sal_uInt32 nInsPos, _SaveRedlines& rArr )
     RedlineMode_t eOld = pDoc->GetRedlineMode();
     pDoc->SetRedlineMode_intern( (RedlineMode_t)(( eOld & ~nsRedlineMode_t::REDLINE_IGNORE) | nsRedlineMode_t::REDLINE_ON ));
 
-    for( sal_uInt16 n = 0; n < rArr.Count(); ++n )
+    for( size_t n = 0; n < rArr.size(); ++n )
     {
-        _SaveRedline* pSave = rArr[ n ];
-        pSave->SetPos( nInsPos );
-        pDoc->AppendRedline( pSave->pRedl, true );
+        //_SaveRedline* pSave = rArr[ n ];
+        rArr[ n ].SetPos( nInsPos );
+        pDoc->AppendRedline( rArr[ n ].pRedl, true );
     }
 
     pDoc->SetRedlineMode_intern( eOld );
@@ -880,7 +878,7 @@ bool SwDoc::MoveRange( SwPaM& rPaM, SwPosition& rPos, SwMoveFlags eMvFlags )
     _SaveFlyInRange( rPaM, rPos.nNode, aSaveFlyArr, 0 != ( DOC_MOVEALLFLYS & eMvFlags ) );
 
     // save redlines (if DOC_MOVEREDLINES is used)
-    _SaveRedlines aSaveRedl( 0 );
+    _SaveRedlines aSaveRedl;
     if( DOC_MOVEREDLINES & eMvFlags && GetRedlineTbl().Count() )
     {
         lcl_SaveRedlines( rPaM, aSaveRedl );
@@ -1084,7 +1082,7 @@ bool SwDoc::MoveRange( SwPaM& rPaM, SwPosition& rPos, SwMoveFlags eMvFlags )
     _RestFlyInRange( aSaveFlyArr, rPaM.Start()->nNode, &(rPos.nNode) );
 
     // restore redlines (if DOC_MOVEREDLINES is used)
-    if( aSaveRedl.Count() )
+    if( !aSaveRedl.empty() )
     {
         lcl_RestoreRedlines( this, *aSavePam.Start(), aSaveRedl );
     }
@@ -1129,7 +1127,7 @@ bool SwDoc::MoveNodeRange( SwNodeRange& rRange, SwNodeIndex& rPos,
                                     GetFtnIdxs(), aTmpFntIdx );
     }
 
-    _SaveRedlines aSaveRedl( 0 );
+    _SaveRedlines aSaveRedl;
     SvPtrarr aSavRedlInsPosArr( 0 );
     if( DOC_MOVEREDLINES & eMvFlags && GetRedlineTbl().Count() )
     {
@@ -1212,7 +1210,7 @@ bool SwDoc::MoveNodeRange( SwNodeRange& rRange, SwNodeIndex& rPos,
         }
     }
 
-    if( aSaveRedl.Count() )
+    if( !aSaveRedl.empty() )
         lcl_RestoreRedlines( this, aIdx.GetIndex(), aSaveRedl );
 
     if( pUndo )
-- 
1.7.5.4

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to