summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-07-11 11:30:12 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-07-12 08:49:25 +0200
commitbf9d2c6f208faa18b17c8962e47de3a26ac40497 (patch)
treee81f2a9570425cd9473b6104415246a5f779a342 /sc/source
parent807d5f11f4e4895a74c999b5f81b42c1a6743060 (diff)
loplugin:useuniqueptr in RootData
Change-Id: Ibb053d17a1da6e3db74b97b4f66a4ad03147b3bc Reviewed-on: https://gerrit.libreoffice.org/57297 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/filter/excel/exctools.cxx20
-rw-r--r--sc/source/filter/excel/impop.cxx6
-rw-r--r--sc/source/filter/excel/xiroot.cxx2
-rw-r--r--sc/source/filter/inc/root.hxx14
4 files changed, 19 insertions, 23 deletions
diff --git a/sc/source/filter/excel/exctools.cxx b/sc/source/filter/excel/exctools.cxx
index 97c5f97c24df..1475f9b8e8b0 100644
--- a/sc/source/filter/excel/exctools.cxx
+++ b/sc/source/filter/excel/exctools.cxx
@@ -50,14 +50,10 @@
RootData::RootData()
{
eDateiTyp = BiffX;
- pExtSheetBuff = nullptr;
- pShrfmlaBuff = nullptr;
- pExtNameBuff = nullptr;
pFmlaConverter = nullptr;
- pAutoFilterBuffer = nullptr;
- pPrintRanges = new ScRangeListTabs;
- pPrintTitles = new ScRangeListTabs;
+ pPrintRanges.reset( new ScRangeListTabs );
+ pPrintTitles.reset( new ScRangeListTabs );
pTabId = nullptr;
pUserBViewList = nullptr;
@@ -69,12 +65,12 @@ RootData::RootData()
RootData::~RootData()
{
- delete pExtSheetBuff;
- delete pShrfmlaBuff;
- delete pExtNameBuff;
- delete pAutoFilterBuffer;
- delete pPrintRanges;
- delete pPrintTitles;
+ pExtSheetBuff.reset();
+ pShrfmlaBuff.reset();
+ pExtNameBuff.reset();
+ pAutoFilterBuffer.reset();
+ pPrintRanges.reset();
+ pPrintTitles.reset();
}
XclImpOutlineBuffer::XclImpOutlineBuffer( SCSIZE nNewSize ) :
diff --git a/sc/source/filter/excel/impop.cxx b/sc/source/filter/excel/impop.cxx
index 26e6ac10a0b5..f1bf316f6640 100644
--- a/sc/source/filter/excel/impop.cxx
+++ b/sc/source/filter/excel/impop.cxx
@@ -125,9 +125,9 @@ ImportExcel::ImportExcel( XclImpRootData& rImpData, SvStream& rStrm ):
pExcRoot = &GetOldRoot();
pExcRoot->pIR = this; // ExcRoot -> XclImpRoot
pExcRoot->eDateiTyp = BiffX;
- pExcRoot->pExtSheetBuff = new ExtSheetBuffer( pExcRoot ); //&aExtSheetBuff;
- pExcRoot->pShrfmlaBuff = new SharedFormulaBuffer( pExcRoot ); //&aShrfrmlaBuff;
- pExcRoot->pExtNameBuff = new ExtNameBuff ( *this );
+ pExcRoot->pExtSheetBuff.reset( new ExtSheetBuffer( pExcRoot ) ); //&aExtSheetBuff;
+ pExcRoot->pShrfmlaBuff.reset( new SharedFormulaBuffer( pExcRoot ) ); //&aShrfrmlaBuff;
+ pExcRoot->pExtNameBuff.reset( new ExtNameBuff ( *this ) );
pOutlineListBuffer = new XclImpOutlineListBuffer;
diff --git a/sc/source/filter/excel/xiroot.cxx b/sc/source/filter/excel/xiroot.cxx
index cbe4d4a4c4d9..98e9a3a47c1e 100644
--- a/sc/source/filter/excel/xiroot.cxx
+++ b/sc/source/filter/excel/xiroot.cxx
@@ -74,7 +74,7 @@ XclImpRoot::XclImpRoot( XclImpRootData& rImpRootData ) :
mrImpData.mxCondFmtMgr.reset( new XclImpCondFormatManager( GetRoot() ) );
mrImpData.mxValidMgr.reset( new XclImpValidationManager( GetRoot() ) );
// TODO still in old RootData (deleted by RootData)
- GetOldRoot().pAutoFilterBuffer = new XclImpAutoFilterBuffer;
+ GetOldRoot().pAutoFilterBuffer.reset( new XclImpAutoFilterBuffer );
mrImpData.mxWebQueryBfr.reset( new XclImpWebQueryBuffer( GetRoot() ) );
mrImpData.mxPTableMgr.reset( new XclImpPivotTableManager( GetRoot() ) );
mrImpData.mxTabProtect.reset( new XclImpSheetProtectBuffer( GetRoot() ) );
diff --git a/sc/source/filter/inc/root.hxx b/sc/source/filter/inc/root.hxx
index ec7f53f7b44f..d9998f3e4cc2 100644
--- a/sc/source/filter/inc/root.hxx
+++ b/sc/source/filter/inc/root.hxx
@@ -52,17 +52,17 @@ class XclExpRoot;
struct RootData // -> incarnation in each case in the ImportExcel object!
{
- BiffTyp eDateiTyp; // fine differentiation
- ExtSheetBuffer* pExtSheetBuff;
- SharedFormulaBuffer* pShrfmlaBuff;
- ExtNameBuff* pExtNameBuff;
+ BiffTyp eDateiTyp; // fine differentiation
+ std::unique_ptr<ExtSheetBuffer> pExtSheetBuff;
+ std::unique_ptr<SharedFormulaBuffer> pShrfmlaBuff;
+ std::unique_ptr<ExtNameBuff> pExtNameBuff;
ExcelToSc* pFmlaConverter;
XclImpColRowSettings* pColRowBuff; // col/row settings 1 table
// Biff8
- XclImpAutoFilterBuffer* pAutoFilterBuffer; // ranges for autofilter and advanced filter
- ScRangeListTabs* pPrintRanges;
- ScRangeListTabs* pPrintTitles;
+ std::unique_ptr<XclImpAutoFilterBuffer> pAutoFilterBuffer; // ranges for autofilter and advanced filter
+ std::unique_ptr<ScRangeListTabs> pPrintRanges;
+ std::unique_ptr<ScRangeListTabs> pPrintTitles;
// extensions for export
XclExpChTrTabId* pTabId; // pointer to rec list, do not destroy