summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/source/filter/inc/XclExpChangeTrack.hxx8
-rw-r--r--sc/source/filter/xcl97/XclExpChangeTrack.cxx17
2 files changed, 12 insertions, 13 deletions
diff --git a/sc/source/filter/inc/XclExpChangeTrack.hxx b/sc/source/filter/inc/XclExpChangeTrack.hxx
index 5bdcd7a7bdd9..f447747cd2d8 100644
--- a/sc/source/filter/inc/XclExpChangeTrack.hxx
+++ b/sc/source/filter/inc/XclExpChangeTrack.hxx
@@ -464,15 +464,15 @@ struct XclExpChTrData
class XclExpChTrCellContent final : public XclExpChTrAction, protected XclExpRoot
{
- XclExpChTrData* pOldData;
- XclExpChTrData* pNewData;
+ std::unique_ptr<XclExpChTrData> pOldData;
+ std::unique_ptr<XclExpChTrData> pNewData;
sal_uInt16 nOldLength; // this is not the record size
ScAddress aPosition;
- static void MakeEmptyChTrData( XclExpChTrData*& rpData );
+ static void MakeEmptyChTrData( std::unique_ptr<XclExpChTrData>& rpData );
void GetCellData(
- const XclExpRoot& rRoot, const ScCellValue& rScCell, XclExpChTrData*& rpData,
+ const XclExpRoot& rRoot, const ScCellValue& rScCell, std::unique_ptr<XclExpChTrData>& rpData,
sal_uInt32& rXclLength1, sal_uInt16& rXclLength2 );
virtual void SaveActionData( XclExpStream& rStrm ) const override;
diff --git a/sc/source/filter/xcl97/XclExpChangeTrack.cxx b/sc/source/filter/xcl97/XclExpChangeTrack.cxx
index 240dfbc6336f..43492b6fb5c1 100644
--- a/sc/source/filter/xcl97/XclExpChangeTrack.cxx
+++ b/sc/source/filter/xcl97/XclExpChangeTrack.cxx
@@ -838,21 +838,21 @@ XclExpChTrCellContent::XclExpChTrCellContent(
XclExpChTrCellContent::~XclExpChTrCellContent()
{
- delete pOldData;
- delete pNewData;
+ pOldData.reset();
+ pNewData.reset();
}
-void XclExpChTrCellContent::MakeEmptyChTrData( XclExpChTrData*& rpData )
+void XclExpChTrCellContent::MakeEmptyChTrData( std::unique_ptr<XclExpChTrData>& rpData )
{
if( rpData )
rpData->Clear();
else
- rpData = new XclExpChTrData;
+ rpData.reset( new XclExpChTrData );
}
void XclExpChTrCellContent::GetCellData(
const XclExpRoot& rRoot, const ScCellValue& rScCell,
- XclExpChTrData*& rpData, sal_uInt32& rXclLength1, sal_uInt16& rXclLength2 )
+ std::unique_ptr<XclExpChTrData>& rpData, sal_uInt32& rXclLength1, sal_uInt16& rXclLength2 )
{
MakeEmptyChTrData( rpData );
rXclLength1 = 0x0000003A;
@@ -860,8 +860,7 @@ void XclExpChTrCellContent::GetCellData(
if (rScCell.isEmpty())
{
- delete rpData;
- rpData = nullptr;
+ rpData.reset();
return;
}
@@ -1069,7 +1068,7 @@ void XclExpChTrCellContent::SaveXml( XclExpXmlStream& rRevisionLogStrm )
FSEND );
if( pOldData )
{
- lcl_WriteCell( rRevisionLogStrm, XML_oc, aPosition, pOldData );
+ lcl_WriteCell( rRevisionLogStrm, XML_oc, aPosition, pOldData.get() );
if (!pNewData)
{
pStream->singleElement(XML_nc,
@@ -1079,7 +1078,7 @@ void XclExpChTrCellContent::SaveXml( XclExpXmlStream& rRevisionLogStrm )
}
if( pNewData )
{
- lcl_WriteCell( rRevisionLogStrm, XML_nc, aPosition, pNewData );
+ lcl_WriteCell( rRevisionLogStrm, XML_nc, aPosition, pNewData.get() );
}
// OOXTODO: XML_odxf, XML_ndxf, XML_extLst elements
pStream->endElement( XML_rcc );