summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2012-03-17 00:07:33 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2012-03-17 00:07:33 -0400
commit3ae3f098ed4e6495c0be0748dacf03dd8e0fe091 (patch)
tree764fc035a806cf966046e260cc89d1fa4d908744 /sc
parent32502a98bc16d74eafc071d43004674aa384ef0e (diff)
Fixed potential memory leak & UniString removal.
Diffstat (limited to 'sc')
-rw-r--r--sc/source/filter/xml/xmldpimp.cxx13
1 files changed, 8 insertions, 5 deletions
diff --git a/sc/source/filter/xml/xmldpimp.cxx b/sc/source/filter/xml/xmldpimp.cxx
index ee8e3aa9665f..8fa7312585a7 100644
--- a/sc/source/filter/xml/xmldpimp.cxx
+++ b/sc/source/filter/xml/xmldpimp.cxx
@@ -1037,11 +1037,14 @@ SvXMLImportContext *ScXMLDataPilotFieldContext::CreateChildContext( sal_uInt16 n
void ScXMLDataPilotFieldContext::AddMember(ScDPSaveMember* pMember)
{
if (pDim)
+ {
pDim->AddMember(pMember);
-
- if (!pMember->GetIsVisible())
- // This member is hidden.
- mbHasHiddenMember = true;
+ if (!pMember->GetIsVisible())
+ // This member is hidden.
+ mbHasHiddenMember = true;
+ }
+ else
+ delete pMember;
}
void ScXMLDataPilotFieldContext::SetSubTotalName(const OUString& rName)
@@ -1636,7 +1639,7 @@ void ScXMLDataPilotMemberContext::EndElement()
{
if (bHasName) // #i53407# don't check sName, empty name is allowed
{
- ScDPSaveMember* pMember = new ScDPSaveMember(String(sName));
+ ScDPSaveMember* pMember = new ScDPSaveMember(sName);
if (!maDisplayName.isEmpty())
pMember->SetLayoutName(maDisplayName);
pMember->SetIsVisible(bDisplay);