summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-06-28 13:04:15 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-06-29 08:38:55 +0200
commitb75d084f673d0a7e4845a59b5446a4bfafb37fd6 (patch)
treed536cca8b8ad8ee55a8b3d4bd698e5a9edab6f2c
parentc0241bad4ee36cac66eab4ab1435aa4874f5bddb (diff)
loplugin:useuniqueptr in SwTableNode
Change-Id: I28bca27b6841ba9b263392b2e30f8684a8e2c4e5 Reviewed-on: https://gerrit.libreoffice.org/56622 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--sw/inc/node.hxx4
-rw-r--r--sw/source/core/doc/tblrwcl.cxx2
-rw-r--r--sw/source/core/docnode/ndcopy.cxx4
-rw-r--r--sw/source/core/docnode/ndtbl.cxx9
-rw-r--r--sw/source/core/edit/edtab.cxx4
-rw-r--r--sw/source/core/fields/ddetbl.cxx4
-rw-r--r--sw/source/core/undo/untbl.cxx8
-rw-r--r--sw/source/filter/xml/xmltbli.cxx6
8 files changed, 20 insertions, 21 deletions
diff --git a/sw/inc/node.hxx b/sw/inc/node.hxx
index 9198ec2c73b7..3e50db779aaa 100644
--- a/sw/inc/node.hxx
+++ b/sw/inc/node.hxx
@@ -492,7 +492,7 @@ private:
class SW_DLLPUBLIC SwTableNode : public SwStartNode, public SwModify
{
friend class SwNodes;
- SwTable* m_pTable;
+ std::unique_ptr<SwTable> m_pTable;
protected:
virtual ~SwTableNode() override;
@@ -515,7 +515,7 @@ public:
void MakeFrames( const SwNodeIndex & rIdx );
SwTableNode* MakeCopy( SwDoc*, const SwNodeIndex& ) const;
- void SetNewTable( SwTable* , bool bNewFrames=true );
+ void SetNewTable( std::unique_ptr<SwTable> , bool bNewFrames=true );
// Removes redline objects that relate to this table from the 'Extra Redlines' table
void RemoveRedlines();
diff --git a/sw/source/core/doc/tblrwcl.cxx b/sw/source/core/doc/tblrwcl.cxx
index c33b005e9a89..e9551ded7a87 100644
--- a/sw/source/core/doc/tblrwcl.cxx
+++ b/sw/source/core/doc/tblrwcl.cxx
@@ -2087,7 +2087,7 @@ bool SwTable::MakeCopy( SwDoc* pInsDoc, const SwPosition& rPos,
// Change the Table Pointer at the Node
pNewTable = new SwDDETable( *pNewTable,
static_cast<SwDDEFieldType*>(pFieldType) );
- pTableNd->SetNewTable( pNewTable, false );
+ pTableNd->SetNewTable( std::unique_ptr<SwTable>(pNewTable), false );
}
pNewTable->GetFrameFormat()->CopyAttrs( *GetFrameFormat() );
diff --git a/sw/source/core/docnode/ndcopy.cxx b/sw/source/core/docnode/ndcopy.cxx
index 0463edeaef2a..431a91e35055 100644
--- a/sw/source/core/docnode/ndcopy.cxx
+++ b/sw/source/core/docnode/ndcopy.cxx
@@ -283,8 +283,8 @@ SwTableNode* SwTableNode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const
OSL_ENSURE( pDDEType, "unknown FieldType" );
// Swap the table pointers in the node
- SwDDETable* pNewTable = new SwDDETable( pTableNd->GetTable(), pDDEType );
- pTableNd->SetNewTable( pNewTable, false );
+ std::unique_ptr<SwDDETable> pNewTable(new SwDDETable( pTableNd->GetTable(), pDDEType ));
+ pTableNd->SetNewTable( std::move(pNewTable), false );
}
// First copy the content of the tables, we will later assign the
// boxes/lines and create the frames
diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index 0ee58e56b96e..d0e177b48548 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -2337,7 +2337,7 @@ TableMergeErr SwDoc::MergeTable( SwPaM& rPam )
SwTableNode::SwTableNode( const SwNodeIndex& rIdx )
: SwStartNode( rIdx, SwNodeType::Table )
{
- m_pTable = new SwTable;
+ m_pTable.reset(new SwTable);
}
SwTableNode::~SwTableNode()
@@ -2349,7 +2349,7 @@ SwTableNode::~SwTableNode()
pTableFormat->ModifyNotification( &aMsgHint, &aMsgHint );
DelFrames();
m_pTable->SetTableNode(this); // set this so that ~SwDDETable can read it!
- delete m_pTable;
+ m_pTable.reset();
}
SwTabFrame *SwTableNode::MakeFrame( SwFrame* pSib )
@@ -2465,12 +2465,11 @@ void SwTableNode::DelFrames()
}
}
-void SwTableNode::SetNewTable( SwTable* pNewTable, bool bNewFrames )
+void SwTableNode::SetNewTable( std::unique_ptr<SwTable> pNewTable, bool bNewFrames )
{
DelFrames();
m_pTable->SetTableNode(this);
- delete m_pTable;
- m_pTable = pNewTable;
+ m_pTable = std::move(pNewTable);
if( bNewFrames )
{
SwNodeIndex aIdx( *EndOfSectionNode());
diff --git a/sw/source/core/edit/edtab.cxx b/sw/source/core/edit/edtab.cxx
index 4859b5efdcbb..28a5c05be494 100644
--- a/sw/source/core/edit/edtab.cxx
+++ b/sw/source/core/edit/edtab.cxx
@@ -232,8 +232,8 @@ void SwEditShell::InsertDDETable( const SwInsertTableOptions& rInsTableOpts,
SwTableNode* pTableNode = const_cast<SwTableNode*>(pTable->GetTabSortBoxes()[ 0 ]->
GetSttNd()->FindTableNode());
- SwDDETable* pDDETable = new SwDDETable( *pTable, pDDEType );
- pTableNode->SetNewTable( pDDETable ); // set the DDE table
+ std::unique_ptr<SwDDETable> pDDETable(new SwDDETable( *pTable, pDDEType ));
+ pTableNode->SetNewTable( std::move(pDDETable) ); // set the DDE table
if( bEndUndo )
EndUndo( SwUndoId::END );
diff --git a/sw/source/core/fields/ddetbl.cxx b/sw/source/core/fields/ddetbl.cxx
index 4ecf198ed0d0..f4abfdb55557 100644
--- a/sw/source/core/fields/ddetbl.cxx
+++ b/sw/source/core/fields/ddetbl.cxx
@@ -186,7 +186,7 @@ bool SwDDETable::NoDDETable()
SwTableNode* pTableNd = pNd->FindTableNode();
OSL_ENSURE( pTableNd, "Where is the table?");
- SwTable* pNewTable = new SwTable( *this );
+ std::unique_ptr<SwTable> pNewTable(new SwTable( *this ));
// copy the table data
pNewTable->GetTabSortBoxes().insert( GetTabSortBoxes() ); // move content boxes
@@ -199,7 +199,7 @@ bool SwDDETable::NoDDETable()
if( pDoc->getIDocumentLayoutAccess().GetCurrentViewShell() )
m_pDDEType->DecRefCnt();
- pTableNd->SetNewTable( pNewTable ); // replace table
+ pTableNd->SetNewTable( std::move(pNewTable) ); // replace table
return true;
}
diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx
index 524ac22d08e8..1f03b2e57441 100644
--- a/sw/source/core/undo/untbl.cxx
+++ b/sw/source/core/undo/untbl.cxx
@@ -308,8 +308,8 @@ void SwUndoInsTable::RedoImpl(::sw::UndoRedoContext & rContext)
{
SwDDEFieldType* pNewType = static_cast<SwDDEFieldType*>(rDoc.getIDocumentFieldsAccess().InsertFieldType(
*pDDEFieldType));
- SwDDETable* pDDETable = new SwDDETable( pTableNode->GetTable(), pNewType );
- pTableNode->SetNewTable( pDDETable );
+ std::unique_ptr<SwDDETable> pDDETable(new SwDDETable( pTableNode->GetTable(), pNewType ));
+ pTableNode->SetNewTable( std::move(pDDETable) );
delete pDDEFieldType;
pDDEFieldType = nullptr;
}
@@ -476,8 +476,8 @@ void SwUndoTableToText::UndoImpl(::sw::UndoRedoContext & rContext)
{
SwDDEFieldType* pNewType = static_cast<SwDDEFieldType*>(rDoc.getIDocumentFieldsAccess().InsertFieldType(
*pDDEFieldType));
- SwDDETable* pDDETable = new SwDDETable( pTableNd->GetTable(), pNewType );
- pTableNd->SetNewTable( pDDETable, false );
+ std::unique_ptr<SwDDETable> pDDETable( new SwDDETable( pTableNd->GetTable(), pNewType ) );
+ pTableNd->SetNewTable( std::move(pDDETable), false );
delete pDDEFieldType;
pDDEFieldType = nullptr;
}
diff --git a/sw/source/filter/xml/xmltbli.cxx b/sw/source/filter/xml/xmltbli.cxx
index 6f75cf0ea7d7..4cda32f8938a 100644
--- a/sw/source/filter/xml/xmltbli.cxx
+++ b/sw/source/filter/xml/xmltbli.cxx
@@ -2774,11 +2774,11 @@ void SwXMLTableContext::MakeTable()
m_xDDESource.set(nullptr);
// 3) create new DDE table, and
- SwDDETable* pDDETable = new SwDDETable( m_pTableNode->GetTable(),
- pFieldType, false );
+ std::unique_ptr<SwDDETable> pDDETable( new SwDDETable( m_pTableNode->GetTable(),
+ pFieldType, false ) );
// 4) set new (DDE)table at node.
- m_pTableNode->SetNewTable(pDDETable, false);
+ m_pTableNode->SetNewTable(std::move(pDDETable), false);
}
// ??? this is always false: root frame is only created in SwViewShell::Init