Kaydet (Commit) fc6c9de5 authored tarafından Noel Grandin's avatar Noel Grandin

loplugin:useuniqueptr in SwUndoCompDoc

Change-Id: I3a74f017b2b82476034f1c92a509c1d5bb20de35
Reviewed-on: https://gerrit.libreoffice.org/57418
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 59ef51a0
...@@ -118,9 +118,9 @@ public: ...@@ -118,9 +118,9 @@ public:
class SwUndoCompDoc : public SwUndo, public SwUndRng class SwUndoCompDoc : public SwUndo, public SwUndRng
{ {
SwRedlineData* pRedlData; std::unique_ptr<SwRedlineData> pRedlData;
SwUndoDelete* pUnDel, *pUnDel2; std::unique_ptr<SwUndoDelete> pUnDel, pUnDel2;
SwRedlineSaveDatas* pRedlSaveData; std::unique_ptr<SwRedlineSaveDatas> pRedlSaveData;
bool bInsert; bool bInsert;
public: public:
......
...@@ -378,7 +378,7 @@ SwUndoCompDoc::SwUndoCompDoc( const SwPaM& rRg, bool bIns ) ...@@ -378,7 +378,7 @@ SwUndoCompDoc::SwUndoCompDoc( const SwPaM& rRg, bool bIns )
if( pDoc->getIDocumentRedlineAccess().IsRedlineOn() ) if( pDoc->getIDocumentRedlineAccess().IsRedlineOn() )
{ {
RedlineType_t eTyp = bInsert ? nsRedlineType_t::REDLINE_INSERT : nsRedlineType_t::REDLINE_DELETE; RedlineType_t eTyp = bInsert ? nsRedlineType_t::REDLINE_INSERT : nsRedlineType_t::REDLINE_DELETE;
pRedlData = new SwRedlineData( eTyp, pDoc->getIDocumentRedlineAccess().GetRedlineAuthor() ); pRedlData.reset( new SwRedlineData( eTyp, pDoc->getIDocumentRedlineAccess().GetRedlineAuthor() ) );
SetRedlineFlags( pDoc->getIDocumentRedlineAccess().GetRedlineFlags() ); SetRedlineFlags( pDoc->getIDocumentRedlineAccess().GetRedlineFlags() );
} }
} }
...@@ -392,24 +392,23 @@ SwUndoCompDoc::SwUndoCompDoc( const SwRangeRedline& rRedl ) ...@@ -392,24 +392,23 @@ SwUndoCompDoc::SwUndoCompDoc( const SwRangeRedline& rRedl )
SwDoc* pDoc = rRedl.GetDoc(); SwDoc* pDoc = rRedl.GetDoc();
if( pDoc->getIDocumentRedlineAccess().IsRedlineOn() ) if( pDoc->getIDocumentRedlineAccess().IsRedlineOn() )
{ {
pRedlData = new SwRedlineData( rRedl.GetRedlineData() ); pRedlData.reset( new SwRedlineData( rRedl.GetRedlineData() ) );
SetRedlineFlags( pDoc->getIDocumentRedlineAccess().GetRedlineFlags() ); SetRedlineFlags( pDoc->getIDocumentRedlineAccess().GetRedlineFlags() );
} }
pRedlSaveData = new SwRedlineSaveDatas; pRedlSaveData.reset( new SwRedlineSaveDatas );
if( !FillSaveData( rRedl, *pRedlSaveData, false )) if( !FillSaveData( rRedl, *pRedlSaveData, false ))
{ {
delete pRedlSaveData; pRedlSaveData.reset();
pRedlSaveData = nullptr;
} }
} }
SwUndoCompDoc::~SwUndoCompDoc() SwUndoCompDoc::~SwUndoCompDoc()
{ {
delete pRedlData; pRedlData.reset();
delete pUnDel; pUnDel.reset();
delete pUnDel2; pUnDel2.reset();
delete pRedlSaveData; pRedlSaveData.reset();
} }
void SwUndoCompDoc::UndoImpl(::sw::UndoRedoContext & rContext) void SwUndoCompDoc::UndoImpl(::sw::UndoRedoContext & rContext)
...@@ -441,7 +440,7 @@ void SwUndoCompDoc::UndoImpl(::sw::UndoRedoContext & rContext) ...@@ -441,7 +440,7 @@ void SwUndoCompDoc::UndoImpl(::sw::UndoRedoContext & rContext)
bool bJoinText, bJoinPrev; bool bJoinText, bJoinPrev;
sw_GetJoinFlags(rPam, bJoinText, bJoinPrev); sw_GetJoinFlags(rPam, bJoinText, bJoinPrev);
pUnDel = new SwUndoDelete(rPam, false); pUnDel.reset( new SwUndoDelete(rPam, false) );
if( bJoinText ) if( bJoinText )
sw_JoinText(rPam, bJoinPrev); sw_JoinText(rPam, bJoinPrev);
...@@ -458,7 +457,7 @@ void SwUndoCompDoc::UndoImpl(::sw::UndoRedoContext & rContext) ...@@ -458,7 +457,7 @@ void SwUndoCompDoc::UndoImpl(::sw::UndoRedoContext & rContext)
++rPam.GetPoint()->nNode; ++rPam.GetPoint()->nNode;
rPam.GetBound().nContent.Assign( nullptr, 0 ); rPam.GetBound().nContent.Assign( nullptr, 0 );
rPam.GetBound( false ).nContent.Assign( nullptr, 0 ); rPam.GetBound( false ).nContent.Assign( nullptr, 0 );
pUnDel2 = new SwUndoDelete(rPam, true); pUnDel2.reset( new SwUndoDelete(rPam, true) );
} }
} }
rPam.DeleteMark(); rPam.DeleteMark();
...@@ -501,12 +500,10 @@ void SwUndoCompDoc::RedoImpl(::sw::UndoRedoContext & rContext) ...@@ -501,12 +500,10 @@ void SwUndoCompDoc::RedoImpl(::sw::UndoRedoContext & rContext)
if( pUnDel2 ) if( pUnDel2 )
{ {
pUnDel2->UndoImpl(rContext); pUnDel2->UndoImpl(rContext);
delete pUnDel2; pUnDel2.reset();
pUnDel2 = nullptr;
} }
pUnDel->UndoImpl(rContext); pUnDel->UndoImpl(rContext);
delete pUnDel; pUnDel.reset();
pUnDel = nullptr;
// note: don't call SetPaM before executing Undo of members // note: don't call SetPaM before executing Undo of members
SwPaM& rPam(AddUndoRedoPaM(rContext)); SwPaM& rPam(AddUndoRedoPaM(rContext));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment