summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-08-25 21:21:54 +0100
committerCaolán McNamara <caolanm@redhat.com>2016-08-25 22:43:57 +0100
commit74475239774daddc9accbafbf53725b44325260e (patch)
tree64f74ebc72a52d78e1ef5cca2d7dcf0b94d724a7 /sc
parent1b8c61d5ca8e2a7ae7a0bcd189b7a87defecea03 (diff)
coverity#704161 Resource leak in object
Change-Id: I111f815526c3f50238f5df6f795abb397bb089e2
Diffstat (limited to 'sc')
-rw-r--r--sc/source/filter/xml/xmldpimp.cxx26
-rw-r--r--sc/source/filter/xml/xmldpimp.hxx16
2 files changed, 21 insertions, 21 deletions
diff --git a/sc/source/filter/xml/xmldpimp.cxx b/sc/source/filter/xml/xmldpimp.cxx
index 9f593d2c7313..f57105fc96ba 100644
--- a/sc/source/filter/xml/xmldpimp.cxx
+++ b/sc/source/filter/xml/xmldpimp.cxx
@@ -949,7 +949,7 @@ ScXMLDataPilotFieldContext::ScXMLDataPilotFieldContext( ScXMLImport& rImport,
ScXMLDataPilotTableContext* pTempDataPilotTable) :
SvXMLImportContext( rImport, nPrfx, rLName ),
pDataPilotTable(pTempDataPilotTable),
- pDim(nullptr),
+ xDim(),
fStart(0.0),
fEnd(0.0),
fStep(0.0),
@@ -1032,9 +1032,9 @@ ScXMLDataPilotFieldContext::ScXMLDataPilotFieldContext( ScXMLImport& rImport,
if (bHasName)
{
- pDim = new ScDPSaveDimension(sName, bDataLayout);
+ xDim.reset(new ScDPSaveDimension(sName, bDataLayout));
if (!aDisplayName.isEmpty())
- pDim->SetLayoutName(aDisplayName);
+ xDim->SetLayoutName(aDisplayName);
}
}
@@ -1070,9 +1070,9 @@ SvXMLImportContext *ScXMLDataPilotFieldContext::CreateChildContext( sal_uInt16 n
void ScXMLDataPilotFieldContext::AddMember(ScDPSaveMember* pMember)
{
- if (pDim)
+ if (xDim)
{
- pDim->AddMember(pMember);
+ xDim->AddMember(pMember);
if (!pMember->GetIsVisible())
// This member is hidden.
mbHasHiddenMember = true;
@@ -1083,8 +1083,8 @@ void ScXMLDataPilotFieldContext::AddMember(ScDPSaveMember* pMember)
void ScXMLDataPilotFieldContext::SetSubTotalName(const OUString& rName)
{
- if (pDim)
- pDim->SetSubtotalName(rName);
+ if (xDim)
+ xDim->SetSubtotalName(rName);
}
void ScXMLDataPilotFieldContext::AddGroup(const ::std::vector<OUString>& rMembers, const OUString& rName)
@@ -1097,16 +1097,16 @@ void ScXMLDataPilotFieldContext::AddGroup(const ::std::vector<OUString>& rMember
void ScXMLDataPilotFieldContext::EndElement()
{
- if (pDim)
+ if (xDim)
{
- pDim->SetUsedHierarchy(nUsedHierarchy);
- pDim->SetFunction(nFunction);
- pDim->SetOrientation(nOrientation);
+ xDim->SetUsedHierarchy(nUsedHierarchy);
+ xDim->SetFunction(nFunction);
+ xDim->SetOrientation(nOrientation);
if (bSelectedPage)
{
- pDataPilotTable->SetSelectedPage(pDim->GetName(), sSelectedPage);
+ pDataPilotTable->SetSelectedPage(xDim->GetName(), sSelectedPage);
}
- pDataPilotTable->AddDimension(pDim);
+ pDataPilotTable->AddDimension(xDim.release());
if (bIsGroupField)
{
ScDPNumGroupInfo aInfo;
diff --git a/sc/source/filter/xml/xmldpimp.hxx b/sc/source/filter/xml/xmldpimp.hxx
index 17e5a327e5e9..5216263c6126 100644
--- a/sc/source/filter/xml/xmldpimp.hxx
+++ b/sc/source/filter/xml/xmldpimp.hxx
@@ -304,7 +304,7 @@ struct ScXMLDataPilotGroup
class ScXMLDataPilotFieldContext : public SvXMLImportContext
{
ScXMLDataPilotTableContext* pDataPilotTable;
- ScDPSaveDimension* pDim;
+ std::unique_ptr<ScDPSaveDimension> xDim;
::std::vector<ScXMLDataPilotGroup> aGroups;
OUString sGroupSource;
@@ -342,15 +342,15 @@ public:
virtual void EndElement() override;
- void SetShowEmpty(const bool bValue) { if (pDim) pDim->SetShowEmpty(bValue); }
- void SetRepeatItemLabels(const bool bSet) { if (pDim) pDim->SetRepeatItemLabels(bSet); }
- void SetSubTotals(const sal_uInt16* pFunctions, const sal_Int16 nCount) { if(pDim) pDim->SetSubTotals(nCount, pFunctions); }
+ void SetShowEmpty(const bool bValue) { if (xDim) xDim->SetShowEmpty(bValue); }
+ void SetRepeatItemLabels(const bool bSet) { if (xDim) xDim->SetRepeatItemLabels(bSet); }
+ void SetSubTotals(const sal_uInt16* pFunctions, const sal_Int16 nCount) { if (xDim) xDim->SetSubTotals(nCount, pFunctions); }
void AddMember(ScDPSaveMember* pMember);
void SetSubTotalName(const OUString& rName);
- void SetFieldReference(const css::sheet::DataPilotFieldReference& aRef) { if (pDim) pDim->SetReferenceValue(&aRef); }
- void SetAutoShowInfo(const css::sheet::DataPilotFieldAutoShowInfo& aInfo) { if (pDim) pDim->SetAutoShowInfo(&aInfo); }
- void SetSortInfo(const css::sheet::DataPilotFieldSortInfo& aInfo) { if (pDim) pDim->SetSortInfo(&aInfo); }
- void SetLayoutInfo(const css::sheet::DataPilotFieldLayoutInfo& aInfo) { if (pDim) pDim->SetLayoutInfo(&aInfo); }
+ void SetFieldReference(const css::sheet::DataPilotFieldReference& aRef) { if (xDim) xDim->SetReferenceValue(&aRef); }
+ void SetAutoShowInfo(const css::sheet::DataPilotFieldAutoShowInfo& aInfo) { if (xDim) xDim->SetAutoShowInfo(&aInfo); }
+ void SetSortInfo(const css::sheet::DataPilotFieldSortInfo& aInfo) { if (xDim) xDim->SetSortInfo(&aInfo); }
+ void SetLayoutInfo(const css::sheet::DataPilotFieldLayoutInfo& aInfo) { if (xDim) xDim->SetLayoutInfo(&aInfo); }
void SetGrouping(const OUString& rGroupSource, const double& rStart, const double& rEnd, const double& rStep,
sal_Int32 nPart, bool bDate, bool bAutoSt, bool bAutoE)
{