summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-11-17 08:03:48 +0200
committerNoel Grandin <noel@peralex.com>2015-11-17 08:23:35 +0200
commite1d88a574562b5c36b01eafdaa0670e5cc1a7c39 (patch)
treed1f00c56fbb6224aa461de6d60f0d1f259d9768a
parent32d4c03cba399ada807b8ec113a3928aa9e3ff7b (diff)
use unique_ptr for pImpl's in xmloff/
Change-Id: Ib95118941938af83fed566a085837e17f092017a
-rw-r--r--include/xmloff/SchXMLExportHelper.hxx3
-rw-r--r--include/xmloff/animationexport.hxx3
-rw-r--r--include/xmloff/animexp.hxx3
-rw-r--r--include/xmloff/attrlist.hxx3
-rw-r--r--include/xmloff/formlayerexport.hxx5
-rw-r--r--include/xmloff/formlayerimport.hxx3
-rw-r--r--include/xmloff/prhdlfac.hxx3
-rw-r--r--include/xmloff/shapeimport.hxx3
-rw-r--r--include/xmloff/xmlaustp.hxx3
-rw-r--r--include/xmloff/xmlexp.hxx3
-rw-r--r--include/xmloff/xmlexppr.hxx3
-rw-r--r--include/xmloff/xmlimp.hxx3
-rw-r--r--include/xmloff/xmlprmap.hxx3
-rw-r--r--include/xmloff/xmlstyle.hxx3
-rw-r--r--include/xmloff/xmltkmap.hxx3
-rw-r--r--xmloff/source/chart/SchXMLExport.cxx1
-rw-r--r--xmloff/source/core/attrlist.cxx9
-rw-r--r--xmloff/source/core/xmlexp.cxx2
-rw-r--r--xmloff/source/core/xmlimp.cxx2
-rw-r--r--xmloff/source/core/xmltkmap.cxx29
-rw-r--r--xmloff/source/draw/animationexport.cxx3
-rw-r--r--xmloff/source/draw/animexp.cxx4
-rw-r--r--xmloff/source/draw/shapeimport.cxx6
-rw-r--r--xmloff/source/draw/ximpshow.cxx6
-rw-r--r--xmloff/source/draw/ximpshow.hxx3
-rw-r--r--xmloff/source/forms/formlayerexport.cxx6
-rw-r--r--xmloff/source/forms/formlayerimport.cxx4
-rw-r--r--xmloff/source/forms/layerimport.hxx2
-rw-r--r--xmloff/source/style/prhdlfac.cxx2
-rw-r--r--xmloff/source/style/xmlaustp.cxx3
-rw-r--r--xmloff/source/style/xmlexppr.cxx1
-rw-r--r--xmloff/source/style/xmlprmap.cxx1
-rw-r--r--xmloff/source/style/xmlstyle.cxx1
-rw-r--r--xmloff/source/text/txtprhdl.cxx1
-rw-r--r--xmloff/source/text/txtprhdl.hxx3
35 files changed, 58 insertions, 78 deletions
diff --git a/include/xmloff/SchXMLExportHelper.hxx b/include/xmloff/SchXMLExportHelper.hxx
index 36f8d402a061..dae6f7f64d74 100644
--- a/include/xmloff/SchXMLExportHelper.hxx
+++ b/include/xmloff/SchXMLExportHelper.hxx
@@ -31,6 +31,7 @@
#include <queue>
#include <vector>
+#include <memory>
class SvXMLAutoStylePoolP;
class SvXMLExport;
@@ -60,7 +61,7 @@ private:
void operator =(SchXMLExportHelper &) = delete;
private:
- SchXMLExportHelper_Impl* m_pImpl;
+ std::unique_ptr<SchXMLExportHelper_Impl> m_pImpl;
friend class SchXMLExport;
};
diff --git a/include/xmloff/animationexport.hxx b/include/xmloff/animationexport.hxx
index 4142910edfb2..d07678f7ad7f 100644
--- a/include/xmloff/animationexport.hxx
+++ b/include/xmloff/animationexport.hxx
@@ -27,6 +27,7 @@
#include <com/sun/star/animations/XAnimationNode.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <salhelper/simplereferenceobject.hxx>
+#include <memory>
class SvXMLExport;
@@ -36,7 +37,7 @@ class AnimationsExporterImpl;
class XMLOFF_DLLPUBLIC AnimationsExporter : public salhelper::SimpleReferenceObject
{
- AnimationsExporterImpl* mpImpl;
+ std::unique_ptr<AnimationsExporterImpl> mpImpl;
public:
AnimationsExporter( SvXMLExport& rExport, const css::uno::Reference< css::beans::XPropertySet >& xPageProps );
diff --git a/include/xmloff/animexp.hxx b/include/xmloff/animexp.hxx
index 3b44a18370fe..7276b477149d 100644
--- a/include/xmloff/animexp.hxx
+++ b/include/xmloff/animexp.hxx
@@ -22,6 +22,7 @@
#include <com/sun/star/drawing/XShape.hpp>
#include <salhelper/simplereferenceobject.hxx>
+#include <memory>
class AnimExpImpl;
class SvXMLExport;
@@ -29,7 +30,7 @@ class XMLShapeExport;
class XMLAnimationsExporter : public salhelper::SimpleReferenceObject
{
- AnimExpImpl* mpImpl;
+ std::unique_ptr<AnimExpImpl> mpImpl;
public:
XMLAnimationsExporter( XMLShapeExport* pShapeExp );
diff --git a/include/xmloff/attrlist.hxx b/include/xmloff/attrlist.hxx
index 6eca0ce7af17..55e3e4eb46ba 100644
--- a/include/xmloff/attrlist.hxx
+++ b/include/xmloff/attrlist.hxx
@@ -32,6 +32,7 @@
#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <cppuhelper/implbase3.hxx>
+#include <memory>
struct SvXMLAttributeList_Impl;
@@ -40,7 +41,7 @@ class XMLOFF_DLLPUBLIC SvXMLAttributeList : public ::cppu::WeakImplHelper3<
css::util::XCloneable,
css::lang::XUnoTunnel>
{
- SvXMLAttributeList_Impl *m_pImpl;
+ std::unique_ptr<SvXMLAttributeList_Impl> m_pImpl;
public:
SvXMLAttributeList();
diff --git a/include/xmloff/formlayerexport.hxx b/include/xmloff/formlayerexport.hxx
index 1aeb85b70494..d3c7e14574c5 100644
--- a/include/xmloff/formlayerexport.hxx
+++ b/include/xmloff/formlayerexport.hxx
@@ -29,6 +29,7 @@
#include <rtl/ref.hxx>
#include <salhelper/simplereferenceobject.hxx>
#include <xmloff/xmlexppr.hxx>
+#include <memory>
namespace com { namespace sun { namespace star { namespace awt {
class XControlModel;
@@ -55,7 +56,7 @@ namespace xmloff
/// our export context
SvXMLExport& m_rContext;
// impl class
- OFormLayerXMLExport_Impl* m_pImpl;
+ std::unique_ptr<OFormLayerXMLExport_Impl> m_pImpl;
protected:
virtual ~OFormLayerXMLExport();
@@ -173,7 +174,7 @@ namespace xmloff
class XMLOFF_DLLPUBLIC OOfficeFormsExport
{
private:
- OFormsRootExport* m_pImpl;
+ std::unique_ptr<OFormsRootExport> m_pImpl;
public:
OOfficeFormsExport( SvXMLExport& _rExp );
diff --git a/include/xmloff/formlayerimport.hxx b/include/xmloff/formlayerimport.hxx
index 344bd4fc39b9..8b4ea5cba459 100644
--- a/include/xmloff/formlayerimport.hxx
+++ b/include/xmloff/formlayerimport.hxx
@@ -28,6 +28,7 @@
#include <rtl/ref.hxx>
#include <salhelper/simplereferenceobject.hxx>
#include <xmloff/xmlimppr.hxx>
+#include <memory>
class SvXMLImport;
class SvXMLImportContext;
@@ -48,7 +49,7 @@ namespace xmloff
class XMLOFF_DLLPUBLIC OFormLayerXMLImport
:public ::salhelper::SimpleReferenceObject
{
- OFormLayerXMLImport_Impl* m_pImpl;
+ std::unique_ptr<OFormLayerXMLImport_Impl> m_pImpl;
public:
OFormLayerXMLImport(SvXMLImport& _rImporter);
diff --git a/include/xmloff/prhdlfac.hxx b/include/xmloff/prhdlfac.hxx
index 515a69cfbfe7..84827d64a215 100644
--- a/include/xmloff/prhdlfac.hxx
+++ b/include/xmloff/prhdlfac.hxx
@@ -24,6 +24,7 @@
#include <sal/types.h>
#include <salhelper/simplereferenceobject.hxx>
+#include <memory>
class XMLPropertyHandler;
@@ -39,7 +40,7 @@ class XMLPropertyHandler;
class XMLOFF_DLLPUBLIC XMLPropertyHandlerFactory : public salhelper::SimpleReferenceObject
{
struct Impl;
- Impl* mpImpl;
+ std::unique_ptr<Impl> mpImpl;
XMLPropertyHandlerFactory( const XMLPropertyHandlerFactory& ) = delete;
XMLPropertyHandlerFactory& operator= ( const XMLPropertyHandlerFactory& ) = delete;
diff --git a/include/xmloff/shapeimport.hxx b/include/xmloff/shapeimport.hxx
index 9ced9eb2c293..b347ec4f9613 100644
--- a/include/xmloff/shapeimport.hxx
+++ b/include/xmloff/shapeimport.hxx
@@ -35,6 +35,7 @@
#include <xmloff/table/XMLTableImport.hxx>
#include <basegfx/vector/b3dvector.hxx>
#include <vector>
+#include <memory>
class SvXMLImport;
class SvXMLImportContext;
@@ -268,7 +269,7 @@ struct XMLShapeImportPageContextImpl;
class XMLOFF_DLLPUBLIC XMLShapeImportHelper : public salhelper::SimpleReferenceObject
{
- XMLShapeImportHelperImpl* mpImpl;
+ std::unique_ptr<XMLShapeImportHelperImpl> mpImpl;
XMLShapeImportPageContextImpl* mpPageContext;
diff --git a/include/xmloff/xmlaustp.hxx b/include/xmloff/xmlaustp.hxx
index d7e8f4ac99cc..ac03690bb37a 100644
--- a/include/xmloff/xmlaustp.hxx
+++ b/include/xmloff/xmlaustp.hxx
@@ -25,6 +25,7 @@
#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
#include <xmloff/xmlprmap.hxx>
#include <salhelper/simplereferenceobject.hxx>
+#include <memory>
class SvXMLExportPropertyMapper;
class SvXMLNamespaceMap;
@@ -40,7 +41,7 @@ class XMLOFF_DLLPUBLIC SvXMLAutoStylePoolP : public salhelper::SimpleReferenceOb
friend class Test;
friend class SvXMLAutoStylePoolP_Impl;
- SvXMLAutoStylePoolP_Impl *pImpl;
+ std::unique_ptr<SvXMLAutoStylePoolP_Impl> pImpl;
protected:
diff --git a/include/xmloff/xmlexp.hxx b/include/xmloff/xmlexp.hxx
index fbf4a19d8fb9..4c4e9efde031 100644
--- a/include/xmloff/xmlexp.hxx
+++ b/include/xmloff/xmlexp.hxx
@@ -61,6 +61,7 @@
#include <tools/fldunit.hxx>
#include <list>
+#include <memory>
#include <o3tl/typed_flags_set.hxx>
class SvXMLNamespaceMap;
@@ -115,7 +116,7 @@ class XMLOFF_DLLPUBLIC SvXMLExport : public ::cppu::WeakImplHelper6<
css::container::XNamed,
css::lang::XUnoTunnel>
{
- SvXMLExport_Impl *mpImpl; // dummy
+ std::unique_ptr<SvXMLExport_Impl> mpImpl; // dummy
css::uno::Reference< css::uno::XComponentContext > m_xContext;
OUString m_implementationName;
diff --git a/include/xmloff/xmlexppr.hxx b/include/xmloff/xmlexppr.hxx
index 78f0678440bf..ad990e18c2ff 100644
--- a/include/xmloff/xmlexppr.hxx
+++ b/include/xmloff/xmlexppr.hxx
@@ -28,6 +28,7 @@
#include <o3tl/typed_flags_set.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
+#include <memory>
enum class SvXmlExportFlags {
NONE = 0x0000,
@@ -52,7 +53,7 @@ class SvXMLExport;
class XMLOFF_DLLPUBLIC SvXMLExportPropertyMapper : public salhelper::SimpleReferenceObject
{
struct Impl;
- Impl* mpImpl;
+ std::unique_ptr<Impl> mpImpl;
protected:
diff --git a/include/xmloff/xmlimp.hxx b/include/xmloff/xmlimp.hxx
index 353b0ac2db67..7da065ea8867 100644
--- a/include/xmloff/xmlimp.hxx
+++ b/include/xmloff/xmlimp.hxx
@@ -57,6 +57,7 @@
#include <com/sun/star/xml/sax/XFastContextHandler.hpp>
#include <com/sun/star/xml/sax/XFastAttributeList.hpp>
#include <o3tl/typed_flags_set.hxx>
+#include <memory>
namespace com { namespace sun { namespace star {
namespace frame { class XModel; }
@@ -140,7 +141,7 @@ class XMLOFF_DLLPUBLIC SvXMLImport : public ::cppu::WeakImplHelper7<
css::uno::Reference< css::container::XNameContainer > mxNumberStyles;
css::uno::Reference< css::lang::XEventListener > mxEventListener;
- SvXMLImport_Impl *mpImpl; // dummy
+ std::unique_ptr<SvXMLImport_Impl> mpImpl; // dummy
SvXMLNamespaceMap *mpNamespaceMap;
SvXMLUnitConverter *mpUnitConv;
diff --git a/include/xmloff/xmlprmap.hxx b/include/xmloff/xmlprmap.hxx
index 7fc7a720a27f..a0793c8f091a 100644
--- a/include/xmloff/xmlprmap.hxx
+++ b/include/xmloff/xmlprmap.hxx
@@ -26,6 +26,7 @@
#include <rtl/ustring.hxx>
#include <salhelper/simplereferenceobject.hxx>
+#include <memory>
class SvXMLUnitConverter;
class XMLPropertyHandler;
@@ -37,7 +38,7 @@ class XMLOFF_DLLPUBLIC XMLPropertySetMapper : public salhelper::SimpleReferenceO
{
struct Impl;
- Impl* mpImpl;
+ std::unique_ptr<Impl> mpImpl;
XMLPropertySetMapper( const XMLPropertySetMapper& ) = delete;
XMLPropertySetMapper& operator= ( const XMLPropertySetMapper& ) = delete;
diff --git a/include/xmloff/xmlstyle.hxx b/include/xmloff/xmlstyle.hxx
index 658cce3d9607..a73a24fc0800 100644
--- a/include/xmloff/xmlstyle.hxx
+++ b/include/xmloff/xmlstyle.hxx
@@ -27,6 +27,7 @@
#include <rsc/rscsfx.hxx>
#include <xmloff/xmltkmap.hxx>
#include <xmloff/xmlictxt.hxx>
+#include <memory>
class SvXMLStylesContext_Impl;
class SvXMLUnitConverter;
@@ -154,7 +155,7 @@ class XMLOFF_DLLPUBLIC SvXMLStylesContext : public SvXMLImportContext
const OUString msParaStyleServiceName;
const OUString msTextStyleServiceName;
- SvXMLStylesContext_Impl *mpImpl;
+ std::unique_ptr<SvXMLStylesContext_Impl> mpImpl;
SvXMLTokenMap *mpStyleStylesElemTokenMap;
diff --git a/include/xmloff/xmltkmap.hxx b/include/xmloff/xmltkmap.hxx
index d0f2288380dd..4cf640393660 100644
--- a/include/xmloff/xmltkmap.hxx
+++ b/include/xmloff/xmltkmap.hxx
@@ -24,6 +24,7 @@
#include <xmloff/dllapi.h>
#include <sal/types.h>
#include <xmloff/xmltoken.hxx>
+#include <memory>
class SvXMLTokenMap_Impl;
@@ -40,7 +41,7 @@ struct SvXMLTokenMapEntry
class XMLOFF_DLLPUBLIC SvXMLTokenMap
{
- SvXMLTokenMap_Impl *m_pImpl;
+ std::unique_ptr<SvXMLTokenMap_Impl> m_pImpl;
public:
diff --git a/xmloff/source/chart/SchXMLExport.cxx b/xmloff/source/chart/SchXMLExport.cxx
index 74a2ee3df26d..13a13da29e7f 100644
--- a/xmloff/source/chart/SchXMLExport.cxx
+++ b/xmloff/source/chart/SchXMLExport.cxx
@@ -986,7 +986,6 @@ SchXMLExportHelper::SchXMLExportHelper( SvXMLExport& rExport, SvXMLAutoStylePool
SchXMLExportHelper::~SchXMLExportHelper()
{
- delete m_pImpl;
}
const OUString& SchXMLExportHelper::getChartCLSID()
diff --git a/xmloff/source/core/attrlist.cxx b/xmloff/source/core/attrlist.cxx
index f28a75c04fca..6be5a3c9b850 100644
--- a/xmloff/source/core/attrlist.cxx
+++ b/xmloff/source/core/attrlist.cxx
@@ -84,9 +84,9 @@ SvXMLAttributeList::SvXMLAttributeList( const SvXMLAttributeList &r ) :
SvXMLAttributeList::SvXMLAttributeList( const uno::Reference<
xml::sax::XAttributeList> & rAttrList )
- : sType( GetXMLToken(XML_CDATA) )
+ : m_pImpl( new SvXMLAttributeList_Impl),
+ sType( GetXMLToken(XML_CDATA) )
{
- m_pImpl = new SvXMLAttributeList_Impl;
SvXMLAttributeList* pImpl =
SvXMLAttributeList::getImplementation( rAttrList );
@@ -139,16 +139,15 @@ uno::Reference< ::com::sun::star::util::XCloneable > SvXMLAttributeList::create
SvXMLAttributeList::SvXMLAttributeList()
- : sType( GetXMLToken(XML_CDATA) )
+ : m_pImpl( new SvXMLAttributeList_Impl ),
+ sType( GetXMLToken(XML_CDATA) )
{
- m_pImpl = new SvXMLAttributeList_Impl;
}
SvXMLAttributeList::~SvXMLAttributeList()
{
- delete m_pImpl;
}
diff --git a/xmloff/source/core/xmlexp.cxx b/xmloff/source/core/xmlexp.cxx
index 877afda091e2..1da587b78775 100644
--- a/xmloff/source/core/xmlexp.cxx
+++ b/xmloff/source/core/xmlexp.cxx
@@ -591,8 +591,6 @@ SvXMLExport::~SvXMLExport()
if (mxEventListener.is() && mxModel.is())
mxModel->removeEventListener(mxEventListener);
-
- delete mpImpl;
}
// XExporter
diff --git a/xmloff/source/core/xmlimp.cxx b/xmloff/source/core/xmlimp.cxx
index e34de76ee37a..53adae826d6b 100644
--- a/xmloff/source/core/xmlimp.cxx
+++ b/xmloff/source/core/xmlimp.cxx
@@ -464,8 +464,6 @@ SvXMLImport::~SvXMLImport() throw ()
delete mpNumImport;
delete mpProgressBarHelper;
- delete mpImpl;
-
if (mxEventListener.is() && mxModel.is())
mxModel->removeEventListener(mxEventListener);
}
diff --git a/xmloff/source/core/xmltkmap.cxx b/xmloff/source/core/xmltkmap.cxx
index 361cbf6eed8e..1b5810fc4fb0 100644
--- a/xmloff/source/core/xmltkmap.cxx
+++ b/xmloff/source/core/xmltkmap.cxx
@@ -58,23 +58,6 @@ public:
class SvXMLTokenMap_Impl : public std::set<SvXMLTokenMapEntry_Impl> {};
-SvXMLTokenMapEntry_Impl const* lcl_Find(
- SvXMLTokenMap_Impl const* pImpl,
- sal_uInt16 nKeyPrefix,
- const OUString& rLName )
-{
- SvXMLTokenMapEntry_Impl const* pRet = nullptr;
- SvXMLTokenMapEntry_Impl aTst( nKeyPrefix, rLName );
-
- SvXMLTokenMap_Impl::iterator it = pImpl->find( aTst );
- if (it != pImpl->end())
- {
- pRet = &*it;
- }
-
- return pRet;
-}
-
SvXMLTokenMap::SvXMLTokenMap( const SvXMLTokenMapEntry *pMap )
: m_pImpl( new SvXMLTokenMap_Impl )
{
@@ -87,14 +70,20 @@ SvXMLTokenMap::SvXMLTokenMap( const SvXMLTokenMapEntry *pMap )
SvXMLTokenMap::~SvXMLTokenMap()
{
- delete m_pImpl;
}
sal_uInt16 SvXMLTokenMap::Get( sal_uInt16 nKeyPrefix,
const OUString& rLName ) const
{
- SvXMLTokenMapEntry_Impl const*const pEntry(
- lcl_Find(m_pImpl, nKeyPrefix, rLName));
+ SvXMLTokenMapEntry_Impl const* pEntry = nullptr;
+ SvXMLTokenMapEntry_Impl aTst( nKeyPrefix, rLName );
+
+ SvXMLTokenMap_Impl::iterator it = m_pImpl->find( aTst );
+ if (it != m_pImpl->end())
+ {
+ pEntry = &*it;
+ }
+
if( pEntry )
return pEntry->GetToken();
else
diff --git a/xmloff/source/draw/animationexport.cxx b/xmloff/source/draw/animationexport.cxx
index 547bd6929946..f911e6741307 100644
--- a/xmloff/source/draw/animationexport.cxx
+++ b/xmloff/source/draw/animationexport.cxx
@@ -1674,13 +1674,12 @@ void AnimationsExporterImpl::prepareValue( const Any& rValue )
}
AnimationsExporter::AnimationsExporter( SvXMLExport& rExport, const Reference< XPropertySet >& xPageProps )
+ : mpImpl( new AnimationsExporterImpl( rExport, xPageProps ) )
{
- mpImpl = new AnimationsExporterImpl( rExport, xPageProps );
}
AnimationsExporter::~AnimationsExporter()
{
- delete mpImpl;
}
void AnimationsExporter::prepare( Reference< XAnimationNode > xRootNode )
diff --git a/xmloff/source/draw/animexp.cxx b/xmloff/source/draw/animexp.cxx
index 13d665a8574a..bf4d60fa6dab 100644
--- a/xmloff/source/draw/animexp.cxx
+++ b/xmloff/source/draw/animexp.cxx
@@ -257,15 +257,13 @@ public:
};
XMLAnimationsExporter::XMLAnimationsExporter( XMLShapeExport* pShapeExp )
+ : mpImpl( new AnimExpImpl )
{
- mpImpl = new AnimExpImpl;
mpImpl->mxShapeExp = pShapeExp;
}
XMLAnimationsExporter::~XMLAnimationsExporter()
{
- delete mpImpl;
- mpImpl = nullptr;
}
void XMLAnimationsExporter::prepare( Reference< XShape > xShape, SvXMLExport& )
diff --git a/xmloff/source/draw/shapeimport.cxx b/xmloff/source/draw/shapeimport.cxx
index 688d8c62b51c..2000a4c925dd 100644
--- a/xmloff/source/draw/shapeimport.cxx
+++ b/xmloff/source/draw/shapeimport.cxx
@@ -111,7 +111,8 @@ XMLShapeImportHelper::XMLShapeImportHelper(
SvXMLImport& rImporter,
const uno::Reference< frame::XModel>& rModel,
SvXMLImportPropertyMapper *pExtMapper )
-: mpPageContext(nullptr),
+: mpImpl( new XMLShapeImportHelperImpl() ),
+ mpPageContext(nullptr),
mxModel(rModel),
mpPropertySetMapper(nullptr),
@@ -136,7 +137,6 @@ XMLShapeImportHelper::XMLShapeImportHelper(
mrImporter( rImporter )
{
- mpImpl = new XMLShapeImportHelperImpl();
mpImpl->mpSortContext = nullptr;
// #88546# init to sal_False
@@ -224,8 +224,6 @@ XMLShapeImportHelper::~XMLShapeImportHelper()
mpAutoStylesContext->Clear();
mpAutoStylesContext->ReleaseRef();
}
-
- delete mpImpl;
}
const SvXMLTokenMap& XMLShapeImportHelper::GetGroupShapeElemTokenMap()
diff --git a/xmloff/source/draw/ximpshow.cxx b/xmloff/source/draw/ximpshow.cxx
index 4175ff79248b..baa9eb058231 100644
--- a/xmloff/source/draw/ximpshow.cxx
+++ b/xmloff/source/draw/ximpshow.cxx
@@ -63,9 +63,9 @@ public:
SdXMLShowsContext::SdXMLShowsContext( SdXMLImport& rImport, sal_uInt16 nPrfx, const OUString& rLocalName, const Reference< XAttributeList >& xAttrList )
-: SvXMLImportContext(rImport, nPrfx, rLocalName)
+: SvXMLImportContext(rImport, nPrfx, rLocalName),
+ mpImpl(new ShowsImpImpl( rImport ) )
{
- mpImpl = new ShowsImpImpl( rImport );
Reference< XCustomPresentationSupplier > xShowsSupplier( rImport.GetModel(), UNO_QUERY );
if( xShowsSupplier.is() )
@@ -186,8 +186,6 @@ SdXMLShowsContext::~SdXMLShowsContext()
aAny <<= mpImpl->maCustomShowName;
mpImpl->mxPresProps->setPropertyValue("CustomShow", aAny );
}
-
- delete mpImpl;
}
SvXMLImportContext * SdXMLShowsContext::CreateChildContext( sal_uInt16 p_nPrefix, const OUString& rLocalName, const Reference< XAttributeList>& xAttrList )
diff --git a/xmloff/source/draw/ximpshow.hxx b/xmloff/source/draw/ximpshow.hxx
index 0eb6c9a52af8..c186206e1c7f 100644
--- a/xmloff/source/draw/ximpshow.hxx
+++ b/xmloff/source/draw/ximpshow.hxx
@@ -22,6 +22,7 @@
#include <xmloff/xmlictxt.hxx>
#include "sdxmlimp_impl.hxx"
+#include <memory>
class ShowsImpImpl;
@@ -29,7 +30,7 @@ class ShowsImpImpl;
class SdXMLShowsContext : public SvXMLImportContext
{
- ShowsImpImpl* mpImpl;
+ std::unique_ptr<ShowsImpImpl> mpImpl;
public:
diff --git a/xmloff/source/forms/formlayerexport.cxx b/xmloff/source/forms/formlayerexport.cxx
index 5a632c38109c..69c5d42b7fff 100644
--- a/xmloff/source/forms/formlayerexport.cxx
+++ b/xmloff/source/forms/formlayerexport.cxx
@@ -50,8 +50,6 @@ namespace xmloff
OFormLayerXMLExport::~OFormLayerXMLExport()
{
- delete m_pImpl;
- m_pImpl = nullptr;
}
bool OFormLayerXMLExport::seekPage(const Reference< XDrawPage >& _rxDrawPage)
@@ -118,14 +116,12 @@ namespace xmloff
//= OOfficeFormsExport
OOfficeFormsExport::OOfficeFormsExport( SvXMLExport& _rExp )
- :m_pImpl(nullptr)
+ :m_pImpl( new OFormsRootExport(_rExp) )
{
- m_pImpl = new OFormsRootExport(_rExp);
}
OOfficeFormsExport::~OOfficeFormsExport()
{
- delete m_pImpl;
}
} // namespace xmloff
diff --git a/xmloff/source/forms/formlayerimport.cxx b/xmloff/source/forms/formlayerimport.cxx
index 00d64a06fe4d..118317d9bd41 100644
--- a/xmloff/source/forms/formlayerimport.cxx
+++ b/xmloff/source/forms/formlayerimport.cxx
@@ -33,14 +33,12 @@ namespace xmloff
//= OFormLayerXMLExport
OFormLayerXMLImport::OFormLayerXMLImport(SvXMLImport& _rImporter)
- :m_pImpl(nullptr)
+ : m_pImpl( new OFormLayerXMLImport_Impl(_rImporter) )
{
- m_pImpl = new OFormLayerXMLImport_Impl(_rImporter);
}
OFormLayerXMLImport::~OFormLayerXMLImport()
{
- delete m_pImpl;
}
void OFormLayerXMLImport::setAutoStyleContext(SvXMLStylesContext* _pNewContext)
diff --git a/xmloff/source/forms/layerimport.hxx b/xmloff/source/forms/layerimport.hxx
index 3cbcb796daf4..641380cafe99 100644
--- a/xmloff/source/forms/layerimport.hxx
+++ b/xmloff/source/forms/layerimport.hxx
@@ -129,9 +129,9 @@ namespace xmloff
const OUString& _rSubmissionID
);
+ virtual ~OFormLayerXMLImport_Impl();
protected:
explicit OFormLayerXMLImport_Impl(SvXMLImport& _rImporter);
- virtual ~OFormLayerXMLImport_Impl();
/** start importing the forms of the given page
*/
diff --git a/xmloff/source/style/prhdlfac.cxx b/xmloff/source/style/prhdlfac.cxx
index 888983c3aaf0..991ae88693ed 100644
--- a/xmloff/source/style/prhdlfac.cxx
+++ b/xmloff/source/style/prhdlfac.cxx
@@ -112,8 +112,6 @@ XMLPropertyHandlerFactory::~XMLPropertyHandlerFactory()
{
for( CacheMap::iterator pPos = mpImpl->maHandlerCache.begin(); pPos != mpImpl->maHandlerCache.end(); ++pPos )
delete pPos->second;
-
- delete mpImpl;
}
// Interface
diff --git a/xmloff/source/style/xmlaustp.cxx b/xmloff/source/style/xmlaustp.cxx
index 46d2d47d4af0..c5d0cbcd129f 100644
--- a/xmloff/source/style/xmlaustp.cxx
+++ b/xmloff/source/style/xmlaustp.cxx
@@ -262,13 +262,12 @@ void SvXMLAutoStylePoolP::exportStyleContent(
}
SvXMLAutoStylePoolP::SvXMLAutoStylePoolP( SvXMLExport& rExport )
+ : pImpl( new SvXMLAutoStylePoolP_Impl( rExport ) )
{
- pImpl = new SvXMLAutoStylePoolP_Impl( rExport );
}
SvXMLAutoStylePoolP::~SvXMLAutoStylePoolP()
{
- delete pImpl;
}
SvXMLExport& SvXMLAutoStylePoolP::GetExport() const
diff --git a/xmloff/source/style/xmlexppr.cxx b/xmloff/source/style/xmlexppr.cxx
index e03c6e400e31..a204b3e17d1b 100644
--- a/xmloff/source/style/xmlexppr.cxx
+++ b/xmloff/source/style/xmlexppr.cxx
@@ -537,7 +537,6 @@ SvXMLExportPropertyMapper::SvXMLExportPropertyMapper(
SvXMLExportPropertyMapper::~SvXMLExportPropertyMapper()
{
- delete mpImpl;
}
void SvXMLExportPropertyMapper::ChainExportMapper(
diff --git a/xmloff/source/style/xmlprmap.cxx b/xmloff/source/style/xmlprmap.cxx
index c340d2cef54b..7c3cdaf3c4a3 100644
--- a/xmloff/source/style/xmlprmap.cxx
+++ b/xmloff/source/style/xmlprmap.cxx
@@ -150,7 +150,6 @@ XMLPropertySetMapper::XMLPropertySetMapper(
XMLPropertySetMapper::~XMLPropertySetMapper()
{
- delete mpImpl;
}
void XMLPropertySetMapper::AddMapperEntry(
diff --git a/xmloff/source/style/xmlstyle.cxx b/xmloff/source/style/xmlstyle.cxx
index 93277781b913..47881cc35dea 100644
--- a/xmloff/source/style/xmlstyle.cxx
+++ b/xmloff/source/style/xmlstyle.cxx
@@ -787,7 +787,6 @@ SvXMLStylesContext::SvXMLStylesContext( SvXMLImport& rImport, sal_uInt16 nPrfx,
SvXMLStylesContext::~SvXMLStylesContext()
{
delete mpStyleStylesElemTokenMap;
- delete mpImpl;
}
SvXMLImportContext *SvXMLStylesContext::CreateChildContext( sal_uInt16 nPrefix,
diff --git a/xmloff/source/text/txtprhdl.cxx b/xmloff/source/text/txtprhdl.cxx
index 8b54a2560ef8..e3430fe6721d 100644
--- a/xmloff/source/text/txtprhdl.cxx
+++ b/xmloff/source/text/txtprhdl.cxx
@@ -1448,7 +1448,6 @@ XMLTextPropertyHandlerFactory::XMLTextPropertyHandlerFactory() :
XMLTextPropertyHandlerFactory::~XMLTextPropertyHandlerFactory()
{
- delete pImpl;
}
const XMLPropertyHandler *XMLTextPropertyHandlerFactory::GetPropertyHandler(
diff --git a/xmloff/source/text/txtprhdl.hxx b/xmloff/source/text/txtprhdl.hxx
index 0a042962c48e..78aaa95b7476 100644
--- a/xmloff/source/text/txtprhdl.hxx
+++ b/xmloff/source/text/txtprhdl.hxx
@@ -21,12 +21,13 @@
#include <xmloff/prhdlfac.hxx>
+#include <memory>
class XMLTextPropertyHandlerFactory_Impl;
class XMLTextPropertyHandlerFactory : public XMLPropertyHandlerFactory
{
- XMLTextPropertyHandlerFactory_Impl *pImpl;
+ std::unique_ptr<XMLTextPropertyHandlerFactory_Impl> pImpl;
public: