[Libreoffice-commits] core.git: 26 commits - include/xmloff sc/source sw/source xmloff/inc xmloff/source

David Tardon dtardon at redhat.com
Fri Sep 9 05:34:42 UTC 2016


 include/xmloff/prstylei.hxx                         |    4 
 include/xmloff/shapeimport.hxx                      |   27 +-
 include/xmloff/txtstyli.hxx                         |    3 
 include/xmloff/xmlictxt.hxx                         |    9 
 include/xmloff/xmlimp.hxx                           |    2 
 include/xmloff/xmlnumi.hxx                          |    7 
 sc/source/filter/xml/xmlcvali.cxx                   |    4 
 sw/source/filter/xml/xmlfmt.cxx                     |   37 +--
 sw/source/filter/xml/xmlitemi.cxx                   |    4 
 sw/source/filter/xml/xmltbli.cxx                    |   45 +--
 sw/source/filter/xml/xmltbli.hxx                    |    4 
 xmloff/inc/XMLTextColumnsContext.hxx                |   14 -
 xmloff/inc/xmltabi.hxx                              |    8 
 xmloff/source/core/xmlictxt.cxx                     |   15 +
 xmloff/source/core/xmlimp.cxx                       |   89 +++----
 xmloff/source/core/xmlmultiimagehelper.cxx          |    6 
 xmloff/source/draw/XMLShapePropertySetContext.cxx   |    4 
 xmloff/source/draw/sdxmlimp.cxx                     |  234 ++++++++------------
 xmloff/source/draw/sdxmlimp_impl.hxx                |   24 +-
 xmloff/source/draw/shapeimport.cxx                  |  232 ++++++++-----------
 xmloff/source/draw/ximp3dscene.cxx                  |   17 -
 xmloff/source/draw/ximpshap.cxx                     |   28 +-
 xmloff/source/draw/ximpstyl.cxx                     |   67 +----
 xmloff/source/draw/ximpstyl.hxx                     |   11 
 xmloff/source/forms/layerimport.cxx                 |   33 --
 xmloff/source/forms/layerimport.hxx                 |    3 
 xmloff/source/style/XMLFontStylesContext_impl.hxx   |    2 
 xmloff/source/style/prstylei.cxx                    |   12 -
 xmloff/source/style/xmlnumi.cxx                     |   31 --
 xmloff/source/style/xmlstyle.cxx                    |   50 +---
 xmloff/source/style/xmltabi.cxx                     |   32 --
 xmloff/source/table/XMLTableImport.cxx              |    2 
 xmloff/source/text/XMLIndexTOCContext.cxx           |    8 
 xmloff/source/text/XMLTextColumnsContext.cxx        |   59 +----
 xmloff/source/text/XMLTextFrameContext.cxx          |   24 +-
 xmloff/source/text/XMLTextFrameHyperlinkContext.cxx |   12 -
 xmloff/source/text/XMLTextListBlockContext.cxx      |    6 
 xmloff/source/text/XMLTextShapeStyleContext.cxx     |    4 
 xmloff/source/text/txtfldi.cxx                      |    4 
 xmloff/source/text/txtimp.cxx                       |   32 +-
 xmloff/source/text/txtlists.cxx                     |   10 
 xmloff/source/text/txtparaimphint.hxx               |   25 --
 xmloff/source/text/txtstyli.cxx                     |   20 -
 43 files changed, 523 insertions(+), 741 deletions(-)

New commits:
commit 0f9a81c8f58c1a9e771d7ff90abe3c20e8283f94
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 16:27:25 2016 +0200

    remove manual memory management
    
    Change-Id: I07960df50645fb77b24eaad4a60f93b715cbb6a9

diff --git a/xmloff/source/style/xmlstyle.cxx b/xmloff/source/style/xmlstyle.cxx
index 885cabd..a77496a 100644
--- a/xmloff/source/style/xmlstyle.cxx
+++ b/xmloff/source/style/xmlstyle.cxx
@@ -207,27 +207,26 @@ class SvXMLStyleIndex_Impl
 {
     OUString              sName;
     sal_uInt16            nFamily;
-    const SvXMLStyleContext *pStyle;
+    const uno::Reference<SvXMLStyleContext> mxStyle;
 
 public:
 
     SvXMLStyleIndex_Impl( sal_uInt16 nFam, const OUString& rName ) :
         sName( rName ),
-        nFamily( nFam ),
-        pStyle ( nullptr )
+        nFamily( nFam )
     {
     }
 
-    SvXMLStyleIndex_Impl( const SvXMLStyleContext *pStl ) :
-        sName( pStl->GetName() ),
-        nFamily( pStl->GetFamily() ),
-        pStyle ( pStl )
+    SvXMLStyleIndex_Impl( const uno::Reference<SvXMLStyleContext> &rStl ) :
+        sName( rStl->GetName() ),
+        nFamily( rStl->GetFamily() ),
+        mxStyle ( rStl )
     {
     }
 
     const OUString& GetName() const { return sName; }
     sal_uInt16 GetFamily() const { return nFamily; }
-    const SvXMLStyleContext *GetStyle() const { return pStyle; }
+    const SvXMLStyleContext *GetStyle() const { return mxStyle.get(); }
 };
 
 struct SvXMLStyleIndexCmp_Impl
@@ -249,7 +248,7 @@ struct SvXMLStyleIndexCmp_Impl
 
 class SvXMLStylesContext_Impl
 {
-    typedef std::vector<SvXMLStyleContext*> StylesType;
+    typedef std::vector<uno::Reference<SvXMLStyleContext>> StylesType;
     typedef std::set<SvXMLStyleIndex_Impl, SvXMLStyleIndexCmp_Impl> IndicesType;
 
     StylesType aStyles;
@@ -264,13 +263,12 @@ class SvXMLStylesContext_Impl
 
 public:
     explicit SvXMLStylesContext_Impl( bool bAuto );
-    ~SvXMLStylesContext_Impl();
 
     size_t GetStyleCount() const { return aStyles.size(); }
 
     SvXMLStyleContext *GetStyle( size_t i )
     {
-        return i < aStyles.size() ? aStyles[ i ] : nullptr;
+        return i < aStyles.size() ? aStyles[ i ].get() : nullptr;
     }
 
     inline void AddStyle( SvXMLStyleContext *pStyle );
@@ -289,19 +287,9 @@ SvXMLStylesContext_Impl::SvXMLStylesContext_Impl( bool bAuto ) :
 #endif
 {}
 
-SvXMLStylesContext_Impl::~SvXMLStylesContext_Impl()
-{
-    for (SvXMLStyleContext* pStyle : aStyles)
-    {
-        pStyle->ReleaseRef();
-    }
-    aStyles.clear();
-}
-
 inline void SvXMLStylesContext_Impl::AddStyle( SvXMLStyleContext *pStyle )
 {
     aStyles.push_back( pStyle );
-    pStyle->AddFirstRef();
 
     FlushIndex();
 }
@@ -309,11 +297,6 @@ inline void SvXMLStylesContext_Impl::AddStyle( SvXMLStyleContext *pStyle )
 void SvXMLStylesContext_Impl::Clear()
 {
     FlushIndex();
-
-    for (SvXMLStyleContext* pStyle : aStyles)
-    {
-        pStyle->ReleaseRef();
-    }
     aStyles.clear();
 }
 
@@ -345,7 +328,7 @@ const SvXMLStyleContext *SvXMLStylesContext_Impl::FindStyleChildContext( sal_uIn
     {
         for( size_t i = 0; !pStyle && i < aStyles.size(); i++ )
         {
-            const SvXMLStyleContext *pS = aStyles[ i ];
+            const SvXMLStyleContext *pS = aStyles[ i ].get();
             if( pS->GetFamily() == nFamily &&
                 pS->GetName() == rName )
                 pStyle = pS;
commit 6678ff2e84f134a670259b48a7ba1721fccdaeb6
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 15:41:11 2016 +0200

    improve comment
    
    Change-Id: I475902aa68b426ce27782ed80f45344b57eadd9c

diff --git a/xmloff/source/text/txtstyli.cxx b/xmloff/source/text/txtstyli.cxx
index f603699..6a78c2d 100644
--- a/xmloff/source/text/txtstyli.cxx
+++ b/xmloff/source/text/txtstyli.cxx
@@ -226,7 +226,7 @@ void XMLTextStyleContext::CreateAndInsert( bool bOverwrite )
     // tell the style about it's events (if applicable)
     if (mxEventContext.is())
     {
-        // set event suppplier and release reference to context
+        // pass events into event suppplier
         Reference<document::XEventsSupplier> xEventsSupplier(xStyle,UNO_QUERY);
         mxEventContext->SetEvents(xEventsSupplier);
         mxEventContext.clear();
commit 084de9dda40095937dfb990fc39edea31626dba3
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 15:40:23 2016 +0200

    remove manual memory management
    
    Change-Id: Ic715adae42ff34be892d19802629aa50077dc120

diff --git a/include/xmloff/txtstyli.hxx b/include/xmloff/txtstyli.hxx
index bfcd7fc..3b7cb23 100644
--- a/include/xmloff/txtstyli.hxx
+++ b/include/xmloff/txtstyli.hxx
@@ -53,7 +53,7 @@ private:
     // Introduce import of empty list style (#i69523#)
     bool        mbListStyleSet : 1;
 
-    XMLEventsImportContext* pEventContext;
+    css::uno::Reference<XMLEventsImportContext> mxEventContext;
 
 protected:
 
@@ -69,7 +69,6 @@ public:
             const css::uno::Reference< css::xml::sax::XAttributeList > & xAttrList,
             SvXMLStylesContext& rStyles, sal_uInt16 nFamily,
             bool bDefaultStyle = false );
-    virtual ~XMLTextStyleContext();
 
     virtual SvXMLImportContext *CreateChildContext(
             sal_uInt16 nPrefix,
diff --git a/xmloff/source/text/txtstyli.cxx b/xmloff/source/text/txtstyli.cxx
index 5564408..f603699 100644
--- a/xmloff/source/text/txtstyli.cxx
+++ b/xmloff/source/text/txtstyli.cxx
@@ -146,11 +146,6 @@ XMLTextStyleContext::XMLTextStyleContext( SvXMLImport& rImport,
 ,   bHasCombinedCharactersLetter( false )
 // Inherited paragraph style lost information about unset numbering (#i69523#)
 ,   mbListStyleSet( false )
-,   pEventContext( nullptr )
-{
-}
-
-XMLTextStyleContext::~XMLTextStyleContext()
 {
 }
 
@@ -192,10 +187,9 @@ SvXMLImportContext *XMLTextStyleContext::CreateChildContext(
     {
         // create and remember events import context
         // (for delayed processing of events)
-        pEventContext = new XMLEventsImportContext( GetImport(), nPrefix,
-                                                   rLocalName);
-        pEventContext->AddFirstRef();
-        pContext = pEventContext;
+        mxEventContext.set(new XMLEventsImportContext( GetImport(), nPrefix,
+                                                   rLocalName));
+        pContext = mxEventContext.get();
     }
 
     if( !pContext )
@@ -230,12 +224,12 @@ void XMLTextStyleContext::CreateAndInsert( bool bOverwrite )
     }
 
     // tell the style about it's events (if applicable)
-    if (nullptr != pEventContext)
+    if (mxEventContext.is())
     {
         // set event suppplier and release reference to context
         Reference<document::XEventsSupplier> xEventsSupplier(xStyle,UNO_QUERY);
-        pEventContext->SetEvents(xEventsSupplier);
-        pEventContext->ReleaseRef();
+        mxEventContext->SetEvents(xEventsSupplier);
+        mxEventContext.clear();
     }
 
     // XML import: reconstrution of assignment of paragraph style to outline levels (#i69629#)
commit 7dd877b4be3ca9cad441b88e4510d5917d25b5b6
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 15:01:39 2016 +0200

    remove manual memory management
    
    Change-Id: I218784e052ee4d7b9a64ac54cdfaa0f8d08aacad

diff --git a/xmloff/source/text/txtparaimphint.hxx b/xmloff/source/text/txtparaimphint.hxx
index 84da197..c2eeaee 100644
--- a/xmloff/source/text/txtparaimphint.hxx
+++ b/xmloff/source/text/txtparaimphint.hxx
@@ -106,22 +106,15 @@ class XMLHyperlinkHint_Impl : public XMLHint_Impl
     OUString                 sTargetFrameName;
     OUString                 sStyleName;
     OUString                 sVisitedStyleName;
-    XMLEventsImportContext*  pEvents;
+    css::uno::Reference<XMLEventsImportContext> mxEvents;
 
 public:
 
     XMLHyperlinkHint_Impl( const css::uno::Reference < css::text::XTextRange > & rPos ) :
-        XMLHint_Impl( XML_HINT_HYPERLINK, rPos, rPos ),
-        pEvents( nullptr )
+        XMLHint_Impl( XML_HINT_HYPERLINK, rPos, rPos )
     {
     }
 
-    virtual ~XMLHyperlinkHint_Impl()
-    {
-        if (nullptr != pEvents)
-            pEvents->ReleaseRef();
-    }
-
     void SetHRef( const OUString& s ) { sHRef = s; }
     const OUString& GetHRef() const { return sHRef; }
     void SetName( const OUString& s ) { sName = s; }
@@ -134,13 +127,11 @@ public:
     const OUString& GetVisitedStyleName() const { return sVisitedStyleName; }
     XMLEventsImportContext* GetEventsContext() const
     {
-        return pEvents;
+        return mxEvents.get();
     }
     void SetEventsContext( XMLEventsImportContext* pCtxt )
     {
-        pEvents = pCtxt;
-        if (pEvents != nullptr)
-            pEvents->AddFirstRef();
+        mxEvents.set(pCtxt);
     }
 };
 
commit c6a65137436c87a6e9f85d46193c42ba35698446
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 14:59:12 2016 +0200

    use std::unique_ptr
    
    Change-Id: I352e542de656d22963eb872f79b40e20008d0a32

diff --git a/xmloff/inc/XMLTextColumnsContext.hxx b/xmloff/inc/XMLTextColumnsContext.hxx
index b750adb..15b40cd 100644
--- a/xmloff/inc/XMLTextColumnsContext.hxx
+++ b/xmloff/inc/XMLTextColumnsContext.hxx
@@ -20,6 +20,8 @@
 #ifndef INCLUDED_XMLOFF_INC_XMLTEXTCOLUMNSCONTEXT_HXX
 #define INCLUDED_XMLOFF_INC_XMLTEXTCOLUMNSCONTEXT_HXX
 
+#include <memory>
+
 #include "XMLElementPropertyContext.hxx"
 
 class XMLTextColumnContext_Impl;
@@ -39,10 +41,10 @@ class XMLTextColumnsContext :public XMLElementPropertyContext
     const OUString sSeparatorLineStyle;
 
 
-    XMLTextColumnsArray_Impl *pColumns;
+    std::unique_ptr<XMLTextColumnsArray_Impl> pColumns;
     css::uno::Reference<XMLTextColumnSepContext_Impl> mxColumnSep;
-    SvXMLTokenMap            *pColumnAttrTokenMap;
-    SvXMLTokenMap            *pColumnSepAttrTokenMap;
+    std::unique_ptr<SvXMLTokenMap> pColumnAttrTokenMap;
+    std::unique_ptr<SvXMLTokenMap> pColumnSepAttrTokenMap;
     sal_Int16                nCount;
     bool                 bAutomatic;
     sal_Int32                nAutomaticDistance;
@@ -56,8 +58,6 @@ public:
         const XMLPropertyState& rProp,
         ::std::vector< XMLPropertyState > &rProps );
 
-    virtual ~XMLTextColumnsContext();
-
     virtual SvXMLImportContext *CreateChildContext( sal_uInt16 nPrefix,
                                    const OUString& rLocalName,
                                    const css::uno::Reference< css::xml::sax::XAttributeList > & xAttrList ) override;
diff --git a/xmloff/source/text/XMLTextColumnsContext.cxx b/xmloff/source/text/XMLTextColumnsContext.cxx
index 475f9c9..95440b0 100644
--- a/xmloff/source/text/XMLTextColumnsContext.cxx
+++ b/xmloff/source/text/XMLTextColumnsContext.cxx
@@ -22,6 +22,7 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/style/VerticalAlignment.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
+#include <o3tl/make_unique.hxx>
 #include <sax/tools/converter.hxx>
 #include <xmloff/xmltkmap.hxx>
 #include <xmloff/xmluconv.hxx>
@@ -275,7 +276,6 @@ XMLTextColumnsContext::XMLTextColumnsContext(
 ,   sSeparatorLineVerticalAlignment("SeparatorLineVerticalAlignment")
 ,   sAutomaticDistance("AutomaticDistance")
 ,   sSeparatorLineStyle("SeparatorLineStyle")
-,   pColumns( nullptr )
 ,   pColumnAttrTokenMap( new SvXMLTokenMap(aColAttrTokenMap) )
 ,   pColumnSepAttrTokenMap( new SvXMLTokenMap(aColSepAttrTokenMap) )
 ,   nCount( 0 )
@@ -308,13 +308,6 @@ XMLTextColumnsContext::XMLTextColumnsContext(
     }
 }
 
-XMLTextColumnsContext::~XMLTextColumnsContext()
-{
-    delete pColumns;
-    delete pColumnAttrTokenMap;
-    delete pColumnSepAttrTokenMap;
-}
-
 SvXMLImportContext *XMLTextColumnsContext::CreateChildContext(
     sal_uInt16 nPrefix,
     const OUString& rLocalName,
@@ -331,7 +324,7 @@ SvXMLImportContext *XMLTextColumnsContext::CreateChildContext(
 
         // add new tabstop to array of tabstops
         if( !pColumns )
-            pColumns = new XMLTextColumnsArray_Impl;
+            pColumns = o3tl::make_unique<XMLTextColumnsArray_Impl>();
 
         pColumns->push_back( xColumn );
 
commit 516992ec6e8d67552610928b91d7b0d9f7014600
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 14:56:44 2016 +0200

    remove manual memory management
    
    Change-Id: Ice48916fc9841a29b3a02997375347c7b605effe

diff --git a/xmloff/inc/XMLTextColumnsContext.hxx b/xmloff/inc/XMLTextColumnsContext.hxx
index f743632..b750adb 100644
--- a/xmloff/inc/XMLTextColumnsContext.hxx
+++ b/xmloff/inc/XMLTextColumnsContext.hxx
@@ -26,7 +26,7 @@ class XMLTextColumnContext_Impl;
 class XMLTextColumnSepContext_Impl;
 class SvXMLTokenMap;
 
-typedef std::vector<XMLTextColumnContext_Impl *> XMLTextColumnsArray_Impl;
+typedef std::vector<css::uno::Reference<XMLTextColumnContext_Impl>> XMLTextColumnsArray_Impl;
 
 class XMLTextColumnsContext :public XMLElementPropertyContext
 {
@@ -40,7 +40,7 @@ class XMLTextColumnsContext :public XMLElementPropertyContext
 
 
     XMLTextColumnsArray_Impl *pColumns;
-    XMLTextColumnSepContext_Impl     *pColumnSep;
+    css::uno::Reference<XMLTextColumnSepContext_Impl> mxColumnSep;
     SvXMLTokenMap            *pColumnAttrTokenMap;
     SvXMLTokenMap            *pColumnSepAttrTokenMap;
     sal_Int16                nCount;
diff --git a/xmloff/source/text/XMLTextColumnsContext.cxx b/xmloff/source/text/XMLTextColumnsContext.cxx
index 08e8d05..475f9c9 100644
--- a/xmloff/source/text/XMLTextColumnsContext.cxx
+++ b/xmloff/source/text/XMLTextColumnsContext.cxx
@@ -276,7 +276,6 @@ XMLTextColumnsContext::XMLTextColumnsContext(
 ,   sAutomaticDistance("AutomaticDistance")
 ,   sSeparatorLineStyle("SeparatorLineStyle")
 ,   pColumns( nullptr )
-,   pColumnSep( nullptr )
 ,   pColumnAttrTokenMap( new SvXMLTokenMap(aColAttrTokenMap) )
 ,   pColumnSepAttrTokenMap( new SvXMLTokenMap(aColSepAttrTokenMap) )
 ,   nCount( 0 )
@@ -311,17 +310,6 @@ XMLTextColumnsContext::XMLTextColumnsContext(
 
 XMLTextColumnsContext::~XMLTextColumnsContext()
 {
-    if( pColumns )
-    {
-        for (XMLTextColumnsArray_Impl::iterator it = pColumns->begin();
-                it != pColumns->end(); ++it)
-        {
-           (*it)->ReleaseRef();
-        }
-    }
-    if( pColumnSep )
-        pColumnSep->ReleaseRef();
-
     delete pColumns;
     delete pColumnAttrTokenMap;
     delete pColumnSepAttrTokenMap;
@@ -337,28 +325,26 @@ SvXMLImportContext *XMLTextColumnsContext::CreateChildContext(
     if( XML_NAMESPACE_STYLE == nPrefix &&
         IsXMLToken( rLocalName, XML_COLUMN ) )
     {
-        XMLTextColumnContext_Impl *pColumn =
+        const uno::Reference<XMLTextColumnContext_Impl> xColumn{
             new XMLTextColumnContext_Impl( GetImport(), nPrefix, rLocalName,
-                                           xAttrList, *pColumnAttrTokenMap );
+                                           xAttrList, *pColumnAttrTokenMap )};
 
         // add new tabstop to array of tabstops
         if( !pColumns )
             pColumns = new XMLTextColumnsArray_Impl;
 
-        pColumns->push_back( pColumn );
-        pColumn->AddFirstRef();
+        pColumns->push_back( xColumn );
 
-        pContext = pColumn;
+        pContext = xColumn.get();
     }
     else if( XML_NAMESPACE_STYLE == nPrefix &&
              IsXMLToken( rLocalName, XML_COLUMN_SEP ) )
     {
-        pColumnSep =
+        mxColumnSep.set(
             new XMLTextColumnSepContext_Impl( GetImport(), nPrefix, rLocalName,
-                                           xAttrList, *pColumnSepAttrTokenMap );
-        pColumnSep->AddFirstRef();
+                                           xAttrList, *pColumnSepAttrTokenMap ));
 
-        pContext = pColumnSep;
+        pContext = mxColumnSep.get();
     }
     else
     {
@@ -442,29 +428,29 @@ void XMLTextColumnsContext::EndElement( )
     Reference < XPropertySet > xPropSet( xColumns, UNO_QUERY );
     if( xPropSet.is() )
     {
-        bool bOn = pColumnSep != nullptr;
+        bool bOn = mxColumnSep != nullptr;
 
         xPropSet->setPropertyValue( sSeparatorLineIsOn, Any(bOn) );
 
-        if( pColumnSep )
+        if( mxColumnSep.is() )
         {
-            if( pColumnSep->GetWidth() )
+            if( mxColumnSep->GetWidth() )
             {
-                xPropSet->setPropertyValue( sSeparatorLineWidth, Any(pColumnSep->GetWidth()) );
+                xPropSet->setPropertyValue( sSeparatorLineWidth, Any(mxColumnSep->GetWidth()) );
             }
-            if( pColumnSep->GetHeight() )
+            if( mxColumnSep->GetHeight() )
             {
                 xPropSet->setPropertyValue( sSeparatorLineRelativeHeight,
-                                            Any(pColumnSep->GetHeight()) );
+                                            Any(mxColumnSep->GetHeight()) );
             }
-            if ( pColumnSep->GetStyle() )
+            if ( mxColumnSep->GetStyle() )
             {
-                xPropSet->setPropertyValue( sSeparatorLineStyle, Any(pColumnSep->GetStyle()) );
+                xPropSet->setPropertyValue( sSeparatorLineStyle, Any(mxColumnSep->GetStyle()) );
             }
 
-            xPropSet->setPropertyValue( sSeparatorLineColor, Any(pColumnSep->GetColor()) );
+            xPropSet->setPropertyValue( sSeparatorLineColor, Any(mxColumnSep->GetColor()) );
 
-            xPropSet->setPropertyValue( sSeparatorLineVerticalAlignment, Any(pColumnSep->GetVertAlign()) );
+            xPropSet->setPropertyValue( sSeparatorLineVerticalAlignment, Any(mxColumnSep->GetVertAlign()) );
         }
 
         // handle 'automatic columns': column distance
commit 73f32870cf3b88b65c40e362fae9bb63e51ec5ce
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 14:50:52 2016 +0200

    use std::unique_ptr
    
    Change-Id: I3cbe6058cd0d1bccb786866a6adf4859424e36ab

diff --git a/xmloff/inc/xmltabi.hxx b/xmloff/inc/xmltabi.hxx
index ecc1b4a..de941e5 100644
--- a/xmloff/inc/xmltabi.hxx
+++ b/xmloff/inc/xmltabi.hxx
@@ -20,6 +20,8 @@
 #ifndef INCLUDED_XMLOFF_INC_XMLTABI_HXX
 #define INCLUDED_XMLOFF_INC_XMLTABI_HXX
 
+#include <memory>
+
 #include "XMLElementPropertyContext.hxx"
 
 class SvXMLImport;
@@ -30,7 +32,7 @@ typedef std::vector<css::uno::Reference<SvxXMLTabStopContext_Impl>> SvxXMLTabSto
 class SvxXMLTabStopImportContext : public XMLElementPropertyContext
 {
 private:
-    SvxXMLTabStopArray_Impl*    mpTabStops;
+    std::unique_ptr<SvxXMLTabStopArray_Impl> mpTabStops;
 
 public:
 
@@ -39,8 +41,6 @@ public:
                                 const XMLPropertyState& rProp,
                                  ::std::vector< XMLPropertyState > &rProps );
 
-    virtual ~SvxXMLTabStopImportContext();
-
     virtual SvXMLImportContext *CreateChildContext( sal_uInt16 nPrefix,
                                    const OUString& rLocalName,
                                    const css::uno::Reference< css::xml::sax::XAttributeList > & xAttrList ) override;
diff --git a/xmloff/source/style/xmltabi.cxx b/xmloff/source/style/xmltabi.cxx
index c2b6557..33382e9 100644
--- a/xmloff/source/style/xmltabi.cxx
+++ b/xmloff/source/style/xmltabi.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <com/sun/star/style/TabAlign.hpp>
+#include <o3tl/make_unique.hxx>
 #include <rtl/ustrbuf.hxx>
 #include <xmloff/xmltkmap.hxx>
 #include <xmloff/nmspmap.hxx>
@@ -172,16 +173,10 @@ SvxXMLTabStopImportContext::SvxXMLTabStopImportContext(
                                 const OUString& rLName,
                                 const XMLPropertyState& rProp,
                                  ::std::vector< XMLPropertyState > &rProps )
-: XMLElementPropertyContext( rImport, nPrfx, rLName, rProp, rProps ),
-  mpTabStops( nullptr )
+: XMLElementPropertyContext( rImport, nPrfx, rLName, rProp, rProps )
 {
 }
 
-SvxXMLTabStopImportContext::~SvxXMLTabStopImportContext()
-{
-    delete mpTabStops;
-}
-
 SvXMLImportContext *SvxXMLTabStopImportContext::CreateChildContext(
                                    sal_uInt16 nPrefix,
                                    const OUString& rLocalName,
@@ -198,7 +193,7 @@ SvXMLImportContext *SvxXMLTabStopImportContext::CreateChildContext(
 
         // add new tabstop to array of tabstops
         if( !mpTabStops )
-            mpTabStops = new SvxXMLTabStopArray_Impl;
+            mpTabStops = o3tl::make_unique<SvxXMLTabStopArray_Impl>();
 
         mpTabStops->push_back( xTabStopContext );
 
commit 655b94643cae76e09d179adc8172790fcff3f881
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 14:49:11 2016 +0200

    remove manual memory management
    
    Change-Id: I3f5259ac7cf099a5d03d95a7e9132cc8cb6d0734

diff --git a/xmloff/inc/xmltabi.hxx b/xmloff/inc/xmltabi.hxx
index 5fb54e0..ecc1b4a 100644
--- a/xmloff/inc/xmltabi.hxx
+++ b/xmloff/inc/xmltabi.hxx
@@ -25,7 +25,7 @@
 class SvXMLImport;
 class SvxXMLTabStopContext_Impl;
 
-typedef std::vector<SvxXMLTabStopContext_Impl *> SvxXMLTabStopArray_Impl;
+typedef std::vector<css::uno::Reference<SvxXMLTabStopContext_Impl>> SvxXMLTabStopArray_Impl;
 
 class SvxXMLTabStopImportContext : public XMLElementPropertyContext
 {
diff --git a/xmloff/source/style/xmltabi.cxx b/xmloff/source/style/xmltabi.cxx
index d922b4b..c2b6557 100644
--- a/xmloff/source/style/xmltabi.cxx
+++ b/xmloff/source/style/xmltabi.cxx
@@ -179,16 +179,6 @@ SvxXMLTabStopImportContext::SvxXMLTabStopImportContext(
 
 SvxXMLTabStopImportContext::~SvxXMLTabStopImportContext()
 {
-    if( mpTabStops )
-    {
-        while( !mpTabStops->empty() )
-        {
-            SvxXMLTabStopContext_Impl *pTabStop = mpTabStops->back();
-            mpTabStops->pop_back();
-            pTabStop->ReleaseRef();
-        }
-    }
-
     delete mpTabStops;
 }
 
@@ -202,18 +192,17 @@ SvXMLImportContext *SvxXMLTabStopImportContext::CreateChildContext(
     if( XML_NAMESPACE_STYLE == nPrefix && IsXMLToken( rLocalName, XML_TAB_STOP ) )
     {
         // create new tabstop import context
-        SvxXMLTabStopContext_Impl *pTabStopContext =
+        const uno::Reference<SvxXMLTabStopContext_Impl> xTabStopContext{
             new SvxXMLTabStopContext_Impl( GetImport(), nPrefix, rLocalName,
-                                           xAttrList );
+                                           xAttrList )};
 
         // add new tabstop to array of tabstops
         if( !mpTabStops )
             mpTabStops = new SvxXMLTabStopArray_Impl;
 
-        mpTabStops->push_back( pTabStopContext );
-        pTabStopContext->AddFirstRef();
+        mpTabStops->push_back( xTabStopContext );
 
-        pContext = pTabStopContext;
+        pContext = xTabStopContext.get();
     }
     else
     {
@@ -235,7 +224,7 @@ void SvxXMLTabStopImportContext::EndElement( )
         style::TabStop* pTabStops = aSeq.getArray();
         for( sal_uInt16 i=0; i < nCount; i++ )
         {
-            SvxXMLTabStopContext_Impl *pTabStopContext = (*mpTabStops)[i];
+            SvxXMLTabStopContext_Impl *pTabStopContext = (*mpTabStops)[i].get();
             const style::TabStop& rTabStop = pTabStopContext->getTabStop();
             bool bDflt = style::TabAlign_DEFAULT == rTabStop.Alignment;
             if( !bDflt || 0==i )
commit 4bda91ca86f0036320140178a533c6424b01e43f
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 14:45:44 2016 +0200

    use std::unique_ptr
    
    Change-Id: I26ab9b4fa441fcbcce8eb013a1d7dce5c8591b6d

diff --git a/xmloff/source/style/xmlstyle.cxx b/xmloff/source/style/xmlstyle.cxx
index 6d9e8d9..885cabd 100644
--- a/xmloff/source/style/xmlstyle.cxx
+++ b/xmloff/source/style/xmlstyle.cxx
@@ -29,6 +29,7 @@
 #include <com/sun/star/style/XAutoStylesSupplier.hpp>
 #include <com/sun/star/style/XAutoStyleFamily.hpp>
 #include "PageMasterPropMapper.hxx"
+#include <o3tl/make_unique.hxx>
 #include <tools/debug.hxx>
 #include <svl/itemset.hxx>
 #include <xmloff/nmspmap.hxx>
@@ -53,6 +54,7 @@
 #include "PageMasterImportContext.hxx"
 #include "PageMasterImportPropMapper.hxx"
 
+#include <memory>
 #include <set>
 #include <vector>
 
@@ -251,14 +253,14 @@ class SvXMLStylesContext_Impl
     typedef std::set<SvXMLStyleIndex_Impl, SvXMLStyleIndexCmp_Impl> IndicesType;
 
     StylesType aStyles;
-    mutable IndicesType* pIndices;
+    mutable std::unique_ptr<IndicesType> pIndices;
     bool bAutomaticStyle;
 
 #if OSL_DEBUG_LEVEL > 0
     mutable sal_uInt32 m_nIndexCreated;
 #endif
 
-    void FlushIndex() { delete pIndices; pIndices = nullptr; }
+    void FlushIndex() { pIndices.reset(); }
 
 public:
     explicit SvXMLStylesContext_Impl( bool bAuto );
@@ -281,7 +283,6 @@ public:
 };
 
 SvXMLStylesContext_Impl::SvXMLStylesContext_Impl( bool bAuto ) :
-    pIndices( nullptr ),
     bAutomaticStyle( bAuto )
 #if OSL_DEBUG_LEVEL > 0
     , m_nIndexCreated( 0 )
@@ -290,8 +291,6 @@ SvXMLStylesContext_Impl::SvXMLStylesContext_Impl( bool bAuto ) :
 
 SvXMLStylesContext_Impl::~SvXMLStylesContext_Impl()
 {
-    delete pIndices;
-
     for (SvXMLStyleContext* pStyle : aStyles)
     {
         pStyle->ReleaseRef();
@@ -326,7 +325,7 @@ const SvXMLStyleContext *SvXMLStylesContext_Impl::FindStyleChildContext( sal_uIn
 
     if( !pIndices && bCreateIndex && !aStyles.empty() )
     {
-        pIndices = new IndicesType(aStyles.begin(), aStyles.end());
+        pIndices = o3tl::make_unique<IndicesType>(aStyles.begin(), aStyles.end());
         SAL_WARN_IF(pIndices->size() != aStyles.size(), "xmloff", "Here is a duplicate Style");
 #if OSL_DEBUG_LEVEL > 0
         SAL_WARN_IF(0 != m_nIndexCreated, "xmloff.style",
@@ -341,7 +340,7 @@ const SvXMLStyleContext *SvXMLStylesContext_Impl::FindStyleChildContext( sal_uIn
         IndicesType::iterator aFind = pIndices->find(aIndex);
         if( aFind != pIndices->end() )
             pStyle = aFind->GetStyle();
-    }
+   }
     else
     {
         for( size_t i = 0; !pStyle && i < aStyles.size(); i++ )
commit a363175cfc100664efa218b87a4d9a143014054a
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 14:36:25 2016 +0200

    remove direct memory management
    
    Change-Id: I9c7d53a9cfd5c03e1551626a96cdaa30fc4e546b

diff --git a/include/xmloff/xmlnumi.hxx b/include/xmloff/xmlnumi.hxx
index f6bf8d6..dbe8adc 100644
--- a/include/xmloff/xmlnumi.hxx
+++ b/include/xmloff/xmlnumi.hxx
@@ -33,7 +33,7 @@
 namespace com { namespace sun { namespace star { namespace frame { class XModel; } } } }
 
 class SvxXMLListLevelStyleContext_Impl;
-typedef std::vector<SvxXMLListLevelStyleContext_Impl *> SvxXMLListStyle_Impl;
+typedef std::vector<css::uno::Reference<SvxXMLListLevelStyleContext_Impl>> SvxXMLListStyle_Impl;
 
 class XMLOFF_DLLPUBLIC SvxXMLListStyleContext
     : public SvXMLStyleContext
@@ -66,8 +66,6 @@ public:
             const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList,
             bool bOutl = false );
 
-    virtual ~SvxXMLListStyleContext();
-
     virtual SvXMLImportContext *CreateChildContext(
             sal_uInt16 nPrefix,
             const OUString& rLocalName,
diff --git a/xmloff/source/style/xmlnumi.cxx b/xmloff/source/style/xmlnumi.cxx
index b087fed..bfec980 100644
--- a/xmloff/source/style/xmlnumi.cxx
+++ b/xmloff/source/style/xmlnumi.cxx
@@ -1033,20 +1033,6 @@ SvxXMLListStyleContext::SvxXMLListStyleContext( SvXMLImport& rImport,
 {
 }
 
-SvxXMLListStyleContext::~SvxXMLListStyleContext()
-{
-    if( pLevelStyles )
-    {
-        while( !pLevelStyles->empty() )
-        {
-            SvxXMLListLevelStyleContext_Impl *pStyle = pLevelStyles->back();
-            pLevelStyles->pop_back();
-            pStyle->ReleaseRef();
-        }
-    }
-}
-
-
 SvXMLImportContext *SvxXMLListStyleContext::CreateChildContext(
         sal_uInt16 nPrefix,
         const OUString& rLocalName,
@@ -1061,15 +1047,14 @@ SvXMLImportContext *SvxXMLListStyleContext::CreateChildContext(
                 IsXMLToken( rLocalName, XML_LIST_LEVEL_STYLE_BULLET ) ||
                  IsXMLToken( rLocalName, XML_LIST_LEVEL_STYLE_IMAGE )    ) ) )
     {
-        SvxXMLListLevelStyleContext_Impl *pLevelStyle =
+        uno::Reference<SvxXMLListLevelStyleContext_Impl> xLevelStyle{
             new SvxXMLListLevelStyleContext_Impl( GetImport(), nPrefix,
-                                                  rLocalName, xAttrList );
+                                                  rLocalName, xAttrList )};
         if( !pLevelStyles )
             pLevelStyles = o3tl::make_unique<SvxXMLListStyle_Impl>();
-        pLevelStyles->push_back( pLevelStyle );
-        pLevelStyle->AddFirstRef();
+        pLevelStyles->push_back( xLevelStyle );
 
-        pContext = pLevelStyle;
+        pContext = xLevelStyle.get();
     }
     else
     {
@@ -1091,7 +1076,7 @@ void SvxXMLListStyleContext::FillUnoNumRule(
             for( sal_uInt16 i=0; i < nCount; i++ )
             {
                 SvxXMLListLevelStyleContext_Impl *pLevelStyle =
-                    (*pLevelStyles)[i];
+                    (*pLevelStyles)[i].get();
                 sal_Int32 nLevel = pLevelStyle->GetLevel();
                 if( nLevel >= 0 && nLevel < l_nLevels )
                 {
commit a66933a890a70f5ff2ac43ccc03c26540ef2ccb3
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 14:34:42 2016 +0200

    use std::unique_ptr
    
    Change-Id: I5128b3e950657f3fe6fc71a8de56c9dd87ac2324

diff --git a/include/xmloff/xmlnumi.hxx b/include/xmloff/xmlnumi.hxx
index 1b5983e..f6bf8d6 100644
--- a/include/xmloff/xmlnumi.hxx
+++ b/include/xmloff/xmlnumi.hxx
@@ -22,6 +22,7 @@
 
 #include <sal/config.h>
 
+#include <memory>
 #include <vector>
 
 #include <com/sun/star/container/XIndexReplace.hpp>
@@ -43,7 +44,7 @@ class XMLOFF_DLLPUBLIC SvxXMLListStyleContext
 
     css::uno::Reference< css::container::XIndexReplace > xNumRules;
 
-    SvxXMLListStyle_Impl        *pLevelStyles;
+    std::unique_ptr<SvxXMLListStyle_Impl> pLevelStyles;
 
     sal_Int32                   nLevels;
     bool                        bConsecutive : 1;
diff --git a/xmloff/source/style/xmlnumi.cxx b/xmloff/source/style/xmlnumi.cxx
index 5feafab..b087fed 100644
--- a/xmloff/source/style/xmlnumi.cxx
+++ b/xmloff/source/style/xmlnumi.cxx
@@ -31,6 +31,7 @@
 #include <com/sun/star/io/XOutputStream.hpp>
 
 #include <o3tl/any.hxx>
+#include <o3tl/make_unique.hxx>
 #include <rtl/ustrbuf.hxx>
 #include <osl/diagnose.h>
 
@@ -1026,7 +1027,6 @@ SvxXMLListStyleContext::SvxXMLListStyleContext( SvXMLImport& rImport,
 ,   sIsPhysical( "IsPhysical"  )
 ,   sNumberingRules( "NumberingRules"  )
 ,   sIsContinuousNumbering( "IsContinuousNumbering"  )
-,   pLevelStyles( nullptr )
 ,   nLevels( 0 )
 ,   bConsecutive( false )
 ,   bOutline( bOutl )
@@ -1044,8 +1044,6 @@ SvxXMLListStyleContext::~SvxXMLListStyleContext()
             pStyle->ReleaseRef();
         }
     }
-
-    delete pLevelStyles;
 }
 
 
@@ -1067,7 +1065,7 @@ SvXMLImportContext *SvxXMLListStyleContext::CreateChildContext(
             new SvxXMLListLevelStyleContext_Impl( GetImport(), nPrefix,
                                                   rLocalName, xAttrList );
         if( !pLevelStyles )
-            pLevelStyles = new SvxXMLListStyle_Impl;
+            pLevelStyles = o3tl::make_unique<SvxXMLListStyle_Impl>();
         pLevelStyles->push_back( pLevelStyle );
         pLevelStyle->AddFirstRef();
 
commit 91c8bec906cd3c39b9da5629391b151d1bad9a03
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 11:33:01 2016 +0200

    remove direct memory management
    
    Change-Id: I269d42704004f2d6e620fedc82a27e7982ecda23

diff --git a/xmloff/source/forms/layerimport.cxx b/xmloff/source/forms/layerimport.cxx
index c25565e..7992650 100644
--- a/xmloff/source/forms/layerimport.cxx
+++ b/xmloff/source/forms/layerimport.cxx
@@ -71,7 +71,6 @@ using namespace ::com::sun::star::sdb;
 //= OFormLayerXMLImport_Impl
 OFormLayerXMLImport_Impl::OFormLayerXMLImport_Impl(SvXMLImport& _rImporter)
     :m_rImporter(_rImporter)
-    ,m_pAutoStyles(nullptr)
 {
     // build the attribute2property map
     // string properties which are exported as attributes
@@ -226,20 +225,10 @@ OFormLayerXMLImport_Impl::OFormLayerXMLImport_Impl(SvXMLImport& _rImporter)
     m_aCurrentPageIds = m_aControlIds.end();
 }
 
-OFormLayerXMLImport_Impl::~OFormLayerXMLImport_Impl()
-{
-    // outlined to allow forward declaration of OAttribute2Property in the header
-
-    if (m_pAutoStyles)
-        m_pAutoStyles->ReleaseRef();
-}
-
 void OFormLayerXMLImport_Impl::setAutoStyleContext(SvXMLStylesContext* _pNewContext)
 {
-    OSL_ENSURE(!m_pAutoStyles, "OFormLayerXMLImport_Impl::setAutoStyleContext: not to be called twice!");
-    m_pAutoStyles = _pNewContext;
-    if (m_pAutoStyles)
-        m_pAutoStyles->AddFirstRef();
+    OSL_ENSURE(!m_xAutoStyles.is(), "OFormLayerXMLImport_Impl::setAutoStyleContext: not to be called twice!");
+    m_xAutoStyles.set(_pNewContext);
 }
 
 void OFormLayerXMLImport_Impl::applyControlNumberStyle(const Reference< XPropertySet >& _rxControlModel, const OUString& _rControlNumerStyleName)
@@ -247,17 +236,15 @@ void OFormLayerXMLImport_Impl::applyControlNumberStyle(const Reference< XPropert
     OSL_ENSURE(_rxControlModel.is() && (!_rControlNumerStyleName.isEmpty()),
         "OFormLayerXMLImport_Impl::applyControlNumberStyle: invalid arguments (this will crash)!");
 
-    OSL_ENSURE(m_pAutoStyles, "OFormLayerXMLImport_Impl::applyControlNumberStyle: have no auto style context!");
-    if (!m_pAutoStyles)
+    OSL_ENSURE(m_xAutoStyles.is(), "OFormLayerXMLImport_Impl::applyControlNumberStyle: have no auto style context!");
+    if (!m_xAutoStyles.is())
     {
-        m_pAutoStyles = m_rImporter.GetShapeImport()->GetAutoStylesContext();
-        if (m_pAutoStyles)
-            m_pAutoStyles->AddFirstRef();
+        m_xAutoStyles.set(m_rImporter.GetShapeImport()->GetAutoStylesContext());
     }
 
-    if (m_pAutoStyles)
+    if (m_xAutoStyles.is())
     {
-        const SvXMLStyleContext* pStyle = m_pAutoStyles->FindStyleChildContext(XML_STYLE_FAMILY_DATA_STYLE, _rControlNumerStyleName);
+        const SvXMLStyleContext* pStyle = m_xAutoStyles->FindStyleChildContext(XML_STYLE_FAMILY_DATA_STYLE, _rControlNumerStyleName);
         if (pStyle)
         {
             const SvXMLNumFormatContext* pDataStyle = static_cast<const SvXMLNumFormatContext*>(pStyle);
@@ -341,12 +328,12 @@ void OFormLayerXMLImport_Impl::registerCellRangeListSource( const Reference< XPr
 }
 const SvXMLStyleContext* OFormLayerXMLImport_Impl::getStyleElement(const OUString& _rStyleName) const
 {
-    OSL_ENSURE( m_pAutoStyles, "OFormLayerXMLImport_Impl::getStyleElement: have no auto style context!" );
+    OSL_ENSURE( m_xAutoStyles.is(), "OFormLayerXMLImport_Impl::getStyleElement: have no auto style context!" );
         // did you use setAutoStyleContext?
 
     const SvXMLStyleContext* pControlStyle =
-        m_pAutoStyles ? m_pAutoStyles->FindStyleChildContext( XML_STYLE_FAMILY_TEXT_PARAGRAPH, _rStyleName ) : nullptr;
-    OSL_ENSURE( pControlStyle || !m_pAutoStyles,
+        m_xAutoStyles.is() ? m_xAutoStyles->FindStyleChildContext( XML_STYLE_FAMILY_TEXT_PARAGRAPH, _rStyleName ) : nullptr;
+    OSL_ENSURE( pControlStyle || !m_xAutoStyles.is(),
                 OStringBuffer("OFormLayerXMLImport_Impl::getStyleElement: did not find the style named \"").append(OUStringToOString(_rStyleName, RTL_TEXTENCODING_ASCII_US)).append("\"!").getStr() );
     return pControlStyle;
 }
diff --git a/xmloff/source/forms/layerimport.hxx b/xmloff/source/forms/layerimport.hxx
index be8dddf..c3b91e2 100644
--- a/xmloff/source/forms/layerimport.hxx
+++ b/xmloff/source/forms/layerimport.hxx
@@ -58,7 +58,7 @@ namespace xmloff
         /// the supplier for the forms of the currently imported page
         css::uno::Reference< css::form::XFormsSupplier2 >
                                             m_xCurrentPageFormsSupp;
-        SvXMLStylesContext*                 m_pAutoStyles;
+        css::uno::Reference<SvXMLStylesContext> m_xAutoStyles;
 
     protected:
         typedef std::map< OUString, css::uno::Reference< css::beans::XPropertySet > > MapString2PropertySet;
@@ -129,7 +129,6 @@ namespace xmloff
             const OUString& _rSubmissionID
         );
 
-        virtual ~OFormLayerXMLImport_Impl();
     protected:
         explicit OFormLayerXMLImport_Impl(SvXMLImport& _rImporter);
 
commit 7977914ae7614657575f7d1ae2cf86f7ad69a580
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 11:28:31 2016 +0200

    remove direct memory management
    
    Change-Id: I9ab3fccd5b8a0cc64bfe7b70ed7a3e36d0e58a33

diff --git a/xmloff/source/draw/ximpstyl.cxx b/xmloff/source/draw/ximpstyl.cxx
index aee1d7b..5a42668 100644
--- a/xmloff/source/draw/ximpstyl.cxx
+++ b/xmloff/source/draw/ximpstyl.cxx
@@ -379,8 +379,7 @@ SdXMLPageMasterContext::SdXMLPageMasterContext(
     sal_uInt16 nPrfx,
     const OUString& rLName,
     const uno::Reference< xml::sax::XAttributeList>& xAttrList)
-:   SvXMLStyleContext(rImport, nPrfx, rLName, xAttrList, XML_STYLE_FAMILY_SD_PAGEMASTERCONEXT_ID),
-    mpPageMasterStyle( nullptr )
+:   SvXMLStyleContext(rImport, nPrfx, rLName, xAttrList, XML_STYLE_FAMILY_SD_PAGEMASTERCONEXT_ID)
 {
     // set family to something special at SvXMLStyleContext
     // for differences in search-methods
@@ -405,16 +404,6 @@ SdXMLPageMasterContext::SdXMLPageMasterContext(
     }
 }
 
-SdXMLPageMasterContext::~SdXMLPageMasterContext()
-{
-    // release remembered contexts, they are no longer needed
-    if(mpPageMasterStyle)
-    {
-        mpPageMasterStyle->ReleaseRef();
-        mpPageMasterStyle = nullptr;
-    }
-}
-
 SvXMLImportContext *SdXMLPageMasterContext::CreateChildContext(
     sal_uInt16 nPrefix,
     const OUString& rLocalName,
@@ -424,12 +413,9 @@ SvXMLImportContext *SdXMLPageMasterContext::CreateChildContext(
 
     if(nPrefix == XML_NAMESPACE_STYLE && IsXMLToken( rLocalName, XML_PAGE_LAYOUT_PROPERTIES) )
     {
-        pContext = new SdXMLPageMasterStyleContext(GetSdImport(), nPrefix, rLocalName, xAttrList);
-
-        // remember SdXMLPresentationPlaceholderContext for later evaluation
-        pContext->AddFirstRef();
-        DBG_ASSERT(!mpPageMasterStyle, "PageMasterStyle is set, there seem to be two of them (!)");
-        mpPageMasterStyle = static_cast<SdXMLPageMasterStyleContext*>(pContext);
+        DBG_ASSERT(!mxPageMasterStyle.is(), "PageMasterStyle is set, there seem to be two of them (!)");
+        mxPageMasterStyle.set(new SdXMLPageMasterStyleContext(GetSdImport(), nPrefix, rLocalName, xAttrList));
+        pContext = mxPageMasterStyle.get();
     }
 
     // call base class
@@ -465,10 +451,6 @@ SdXMLPresentationPageLayoutContext::SdXMLPresentationPageLayoutContext(
     }
 }
 
-SdXMLPresentationPageLayoutContext::~SdXMLPresentationPageLayoutContext()
-{
-}
-
 SvXMLImportContext *SdXMLPresentationPageLayoutContext::CreateChildContext(
     sal_uInt16 nPrefix,
     const OUString& rLocalName,
@@ -478,13 +460,13 @@ SvXMLImportContext *SdXMLPresentationPageLayoutContext::CreateChildContext(
 
     if(nPrefix == XML_NAMESPACE_PRESENTATION && IsXMLToken( rLocalName, XML_PLACEHOLDER ) )
     {
+        const uno::Reference< SdXMLPresentationPlaceholderContext > xContext{
+            new SdXMLPresentationPlaceholderContext(GetSdImport(), nPrefix, rLocalName, xAttrList)};
         // presentation:placeholder inside style:presentation-page-layout context
-        pContext = new SdXMLPresentationPlaceholderContext(
-            GetSdImport(), nPrefix, rLocalName, xAttrList);
+        pContext = xContext.get();
 
         // remember SdXMLPresentationPlaceholderContext for later evaluation
-        pContext->AddFirstRef();
-        maList.push_back( static_cast<SdXMLPresentationPlaceholderContext*>(pContext) );
+        maList.push_back( xContext );
     }
 
     // call base class
@@ -501,7 +483,7 @@ void SdXMLPresentationPageLayoutContext::EndElement()
     // at the moment only use number of types used there
     if( !maList.empty() )
     {
-        SdXMLPresentationPlaceholderContext* pObj0 = maList[ 0 ];
+        SdXMLPresentationPlaceholderContext* pObj0 = maList[ 0 ].get();
         if( pObj0->GetName() == "handout" )
         {
             switch( maList.size() )
@@ -543,7 +525,7 @@ void SdXMLPresentationPageLayoutContext::EndElement()
                 }
                 case 2:
                 {
-                    SdXMLPresentationPlaceholderContext* pObj1 = maList[ 1 ];
+                    SdXMLPresentationPlaceholderContext* pObj1 = maList[ 1 ].get();
 
                     if( pObj1->GetName() == "subtitle" )
                     {
@@ -586,8 +568,8 @@ void SdXMLPresentationPageLayoutContext::EndElement()
                 }
                 case 3:
                 {
-                    SdXMLPresentationPlaceholderContext* pObj1 = maList[ 1 ];
-                    SdXMLPresentationPlaceholderContext* pObj2 = maList[ 2 ];
+                    SdXMLPresentationPlaceholderContext* pObj1 = maList[ 1 ].get();
+                    SdXMLPresentationPlaceholderContext* pObj2 = maList[ 2 ].get();
 
                     if( pObj1->GetName() == "outline" )
                     {
@@ -651,8 +633,8 @@ void SdXMLPresentationPageLayoutContext::EndElement()
                 }
                 case 4:
                 {
-                    SdXMLPresentationPlaceholderContext* pObj1 = maList[ 1 ];
-                    SdXMLPresentationPlaceholderContext* pObj2 = maList[ 2 ];
+                    SdXMLPresentationPlaceholderContext* pObj1 = maList[ 1 ].get();
+                    SdXMLPresentationPlaceholderContext* pObj2 = maList[ 2 ].get();
 
                     if( pObj1->GetName() == "object" )
                     {
@@ -673,7 +655,7 @@ void SdXMLPresentationPageLayoutContext::EndElement()
                 }
                 case 5:
                 {
-                    SdXMLPresentationPlaceholderContext* pObj1 = maList[ 1 ];
+                    SdXMLPresentationPlaceholderContext* pObj1 = maList[ 1 ].get();
 
                     if( pObj1->GetName() == "object" )
                     {
@@ -700,8 +682,6 @@ void SdXMLPresentationPageLayoutContext::EndElement()
         }
 
         // release remembered contexts, they are no longer needed
-        for ( size_t i = maList.size(); i > 0; )
-            maList[ --i ]->ReleaseRef();
         maList.clear();
     }
 }
@@ -1459,13 +1439,6 @@ SdXMLMasterStylesContext::SdXMLMasterStylesContext(
 {
 }
 
-SdXMLMasterStylesContext::~SdXMLMasterStylesContext()
-{
-    for ( size_t i = maMasterPageList.size(); i > 0; )
-        maMasterPageList[ --i ]->ReleaseRef();
-    maMasterPageList.clear();
-}
-
 SvXMLImportContext* SdXMLMasterStylesContext::CreateChildContext(
     sal_uInt16 nPrefix,
     const OUString& rLocalName,
@@ -1501,11 +1474,11 @@ SvXMLImportContext* SdXMLMasterStylesContext::CreateChildContext(
                 uno::Reference< drawing::XShapes > xNewShapes(xNewMasterPage, uno::UNO_QUERY);
                 if(xNewShapes.is() && GetSdImport().GetShapeImport()->GetStylesContext())
                 {
-                    pContext = new SdXMLMasterPageContext(GetSdImport(),
-                        nPrefix, rLocalName, xAttrList, xNewShapes);
-
-                    pContext->AddFirstRef();
-                    maMasterPageList.push_back( static_cast<SdXMLMasterPageContext*>(pContext) );
+                    const uno::Reference<SdXMLMasterPageContext> xContext{
+                        new SdXMLMasterPageContext(GetSdImport(),
+                            nPrefix, rLocalName, xAttrList, xNewShapes)};
+                    pContext = xContext.get();
+                    maMasterPageList.push_back(xContext);
                 }
             }
         }
diff --git a/xmloff/source/draw/ximpstyl.hxx b/xmloff/source/draw/ximpstyl.hxx
index 6e1c5c0..788e3e4 100644
--- a/xmloff/source/draw/ximpstyl.hxx
+++ b/xmloff/source/draw/ximpstyl.hxx
@@ -68,7 +68,7 @@ public:
 class SdXMLPageMasterContext: public SvXMLStyleContext
 {
     OUString               msName;
-    SdXMLPageMasterStyleContext*mpPageMasterStyle;
+    css::uno::Reference<SdXMLPageMasterStyleContext> mxPageMasterStyle;
 
     const SdXMLImport& GetSdImport() const { return static_cast<const SdXMLImport&>(GetImport()); }
     SdXMLImport& GetSdImport() { return static_cast<SdXMLImport&>(GetImport()); }
@@ -80,13 +80,12 @@ public:
         sal_uInt16 nPrfx,
         const OUString& rLName,
         const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList);
-    virtual ~SdXMLPageMasterContext();
 
     virtual SvXMLImportContext *CreateChildContext(
         sal_uInt16 nPrefix, const OUString& rLocalName,
         const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) override;
 
-    const SdXMLPageMasterStyleContext* GetPageMasterStyle() const { return mpPageMasterStyle; }
+    const SdXMLPageMasterStyleContext* GetPageMasterStyle() const { return mxPageMasterStyle.get(); }
 };
 
 // style:masterpage context
@@ -148,7 +147,7 @@ public:
 class SdXMLPresentationPageLayoutContext: public SvXMLStyleContext
 {
     OUString               msName;
-    std::vector< SdXMLPresentationPlaceholderContext* >
+    std::vector< css::uno::Reference< SdXMLPresentationPlaceholderContext > >
                            maList;
     sal_uInt16             mnTypeId;
 
@@ -162,7 +161,6 @@ public:
         sal_uInt16 nPrfx,
         const OUString& rLName,
         const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList);
-    virtual ~SdXMLPresentationPageLayoutContext();
 
     virtual SvXMLImportContext *CreateChildContext(
         sal_uInt16 nPrefix, const OUString& rLocalName,
@@ -228,7 +226,7 @@ public:
 
 class SdXMLMasterStylesContext : public SvXMLImportContext
 {
-    std::vector< SdXMLMasterPageContext* > maMasterPageList;
+    std::vector< css::uno::Reference< SdXMLMasterPageContext > > maMasterPageList;
 
     const SdXMLImport& GetSdImport() const { return static_cast<const SdXMLImport&>(GetImport()); }
     SdXMLImport& GetSdImport() { return static_cast<SdXMLImport&>(GetImport()); }
@@ -238,7 +236,6 @@ public:
     SdXMLMasterStylesContext(
         SdXMLImport& rImport,
         const OUString& rLName);
-    virtual ~SdXMLMasterStylesContext();
 
     virtual SvXMLImportContext* CreateChildContext(
         sal_uInt16 nPrefix,
commit 3ef084c9bd7a7952a0e69efb9dbda81473c7856b
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 11:18:15 2016 +0200

    remove direct memory management
    
    Change-Id: Id0278f15e0c46a32cf07900dffdf27b3acb2649c

diff --git a/include/xmloff/shapeimport.hxx b/include/xmloff/shapeimport.hxx
index e9bc24f..3042e03 100644
--- a/include/xmloff/shapeimport.hxx
+++ b/include/xmloff/shapeimport.hxx
@@ -204,7 +204,7 @@ protected:
     SvXMLImport& mrImport;
 
     // list for local light contexts
-    ::std::vector< SdXML3DLightContext* >
+    ::std::vector< css::uno::Reference< SdXML3DLightContext > >
                                 maList;
 
     // local parameters which need to be read
@@ -228,7 +228,6 @@ protected:
 
 public:
     SdXML3DSceneAttributesHelper( SvXMLImport& rImporter );
-    ~SdXML3DSceneAttributesHelper();
 
     /** creates a 3d light context and adds it to the internal list for later processing */
     SvXMLImportContext * create3DLightContext( sal_uInt16 nPrfx, const OUString& rLName, const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList);
diff --git a/xmloff/source/draw/ximp3dscene.cxx b/xmloff/source/draw/ximp3dscene.cxx
index 7680acf..31ce368 100644
--- a/xmloff/source/draw/ximp3dscene.cxx
+++ b/xmloff/source/draw/ximp3dscene.cxx
@@ -226,24 +226,15 @@ SdXML3DSceneAttributesHelper::SdXML3DSceneAttributesHelper( SvXMLImport& rImport
 {
 }
 
-SdXML3DSceneAttributesHelper::~SdXML3DSceneAttributesHelper()
-{
-    // release remembered light contexts, they are no longer needed
-    for ( size_t i = maList.size(); i > 0; )
-        maList[ --i ]->ReleaseRef();
-    maList.clear();
-}
-
 /** creates a 3d light context and adds it to the internal list for later processing */
 SvXMLImportContext * SdXML3DSceneAttributesHelper::create3DLightContext( sal_uInt16 nPrfx, const OUString& rLName, const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList)
 {
-    SvXMLImportContext* pContext = new SdXML3DLightContext(mrImport, nPrfx, rLName, xAttrList);
+    const uno::Reference<SdXML3DLightContext> xContext{new SdXML3DLightContext(mrImport, nPrfx, rLName, xAttrList)};
 
     // remember SdXML3DLightContext for later evaluation
-    pContext->AddFirstRef();
-    maList.push_back( static_cast<SdXML3DLightContext*>(pContext) );
+    maList.push_back(xContext);
 
-    return pContext;
+    return xContext.get();
 }
 
 /** this should be called for each scene attribute */
@@ -376,7 +367,7 @@ void SdXML3DSceneAttributesHelper::setSceneAttributes( const css::uno::Reference
         // set lights
         for( size_t a = 0; a < maList.size(); a++)
         {
-            SdXML3DLightContext* pCtx = maList[ a ];
+            SdXML3DLightContext* pCtx = maList[ a ].get();
 
             // set anys
             aAny <<= pCtx->GetDiffuseColor();
commit 4f776e0ff2d7b3635dc504c3251dddd03f76c205
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 11:11:18 2016 +0200

    drop useless comments
    
    Change-Id: Idbecb59bbefb4e63e1de80b8a28033be31e3dd58

diff --git a/xmloff/source/draw/shapeimport.cxx b/xmloff/source/draw/shapeimport.cxx
index 26f77da..016195f 100644
--- a/xmloff/source/draw/shapeimport.cxx
+++ b/xmloff/source/draw/shapeimport.cxx
@@ -208,7 +208,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::GetGroupShapeElemTokenMap()
         };
 
         mpGroupShapeElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aGroupShapeElemTokenMap);
-    } // if(!mpGroupShapeElemTokenMap)
+    }
 
     return *mpGroupShapeElemTokenMap;
 }
@@ -231,7 +231,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::GetFrameShapeElemTokenMap()
         };
 
         mpFrameShapeElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aFrameShapeElemTokenMap);
-    } // if(!mpFrameShapeElemTokenMap)
+    }
 
     return *mpFrameShapeElemTokenMap;
 }
@@ -251,7 +251,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DSceneShapeElemTokenMap()
         };
 
         mp3DSceneShapeElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DSceneShapeElemTokenMap);
-    } // if(!mp3DSceneShapeElemTokenMap)
+    }
 
     return *mp3DSceneShapeElemTokenMap;
 }
@@ -268,7 +268,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DObjectAttrTokenMap()
         };
 
         mp3DObjectAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DObjectAttrTokenMap);
-    } // if(!mp3DObjectAttrTokenMap)
+    }
 
     return *mp3DObjectAttrTokenMap;
 }
@@ -285,7 +285,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DPolygonBasedAttrTokenMap()
         };
 
         mp3DPolygonBasedAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DPolygonBasedAttrTokenMap);
-    } // if(!mp3DPolygonBasedAttrTokenMap)
+    }
 
     return *mp3DPolygonBasedAttrTokenMap;
 }
@@ -302,7 +302,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DCubeObjectAttrTokenMap()
         };
 
         mp3DCubeObjectAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DCubeObjectAttrTokenMap);
-    } // if(!mp3DCubeObjectAttrTokenMap)
+    }
 
     return *mp3DCubeObjectAttrTokenMap;
 }
@@ -319,7 +319,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DSphereObjectAttrTokenMap()
         };
 
         mp3DSphereObjectAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DSphereObjectAttrTokenMap);
-    } // if(!mp3DSphereObjectAttrTokenMap)
+    }
 
     return *mp3DSphereObjectAttrTokenMap;
 }
@@ -338,7 +338,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DLightAttrTokenMap()
         };
 
         mp3DLightAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DLightAttrTokenMap);
-    } // if(!mp3DLightAttrTokenMap)
+    }
 
     return *mp3DLightAttrTokenMap;
 }
commit 4da3d1e3d7469f9ee3de5f183fe0e94cedcb3b1d
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 11:10:27 2016 +0200

    fix indentation
    
    Change-Id: I0292b9408b0ff74f133daba955a81d9ac706b336

diff --git a/xmloff/source/draw/shapeimport.cxx b/xmloff/source/draw/shapeimport.cxx
index 6e2ecb7..26f77da 100644
--- a/xmloff/source/draw/shapeimport.cxx
+++ b/xmloff/source/draw/shapeimport.cxx
@@ -178,34 +178,34 @@ const SvXMLTokenMap& XMLShapeImportHelper::GetGroupShapeElemTokenMap()
     if(!mpGroupShapeElemTokenMap)
     {
         static const SvXMLTokenMapEntry aGroupShapeElemTokenMap[] =
-{
-    { XML_NAMESPACE_DRAW,           XML_G,              XML_TOK_GROUP_GROUP         },
-    { XML_NAMESPACE_DRAW,           XML_RECT,           XML_TOK_GROUP_RECT          },
-    { XML_NAMESPACE_DRAW,           XML_LINE,           XML_TOK_GROUP_LINE          },
-    { XML_NAMESPACE_DRAW,           XML_CIRCLE,         XML_TOK_GROUP_CIRCLE        },
-    { XML_NAMESPACE_DRAW,           XML_ELLIPSE,        XML_TOK_GROUP_ELLIPSE       },
-    { XML_NAMESPACE_DRAW,           XML_POLYGON,        XML_TOK_GROUP_POLYGON       },
-    { XML_NAMESPACE_DRAW,           XML_POLYLINE,       XML_TOK_GROUP_POLYLINE      },
-    { XML_NAMESPACE_DRAW,           XML_PATH,           XML_TOK_GROUP_PATH          },
-
-    { XML_NAMESPACE_DRAW,           XML_CONTROL,        XML_TOK_GROUP_CONTROL       },
-    { XML_NAMESPACE_DRAW,           XML_CONNECTOR,      XML_TOK_GROUP_CONNECTOR     },
-    { XML_NAMESPACE_DRAW,           XML_MEASURE,        XML_TOK_GROUP_MEASURE       },
-    { XML_NAMESPACE_DRAW,           XML_PAGE_THUMBNAIL, XML_TOK_GROUP_PAGE          },
-    { XML_NAMESPACE_DRAW,           XML_CAPTION,        XML_TOK_GROUP_CAPTION       },
-
-    { XML_NAMESPACE_CHART,          XML_CHART,          XML_TOK_GROUP_CHART         },
-    { XML_NAMESPACE_DR3D,           XML_SCENE,          XML_TOK_GROUP_3DSCENE       },
-
-    { XML_NAMESPACE_DRAW,           XML_FRAME,          XML_TOK_GROUP_FRAME         },
-    { XML_NAMESPACE_DRAW,           XML_CUSTOM_SHAPE,   XML_TOK_GROUP_CUSTOM_SHAPE  },
-
-    { XML_NAMESPACE_DRAW,           XML_CUSTOM_SHAPE,   XML_TOK_GROUP_CUSTOM_SHAPE  },
-    { XML_NAMESPACE_OFFICE,         XML_ANNOTATION,     XML_TOK_GROUP_ANNOTATION    },
-    { XML_NAMESPACE_DRAW,           XML_A,              XML_TOK_GROUP_A             },
-
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_DRAW,           XML_G,              XML_TOK_GROUP_GROUP         },
+            { XML_NAMESPACE_DRAW,           XML_RECT,           XML_TOK_GROUP_RECT          },
+            { XML_NAMESPACE_DRAW,           XML_LINE,           XML_TOK_GROUP_LINE          },
+            { XML_NAMESPACE_DRAW,           XML_CIRCLE,         XML_TOK_GROUP_CIRCLE        },
+            { XML_NAMESPACE_DRAW,           XML_ELLIPSE,        XML_TOK_GROUP_ELLIPSE       },
+            { XML_NAMESPACE_DRAW,           XML_POLYGON,        XML_TOK_GROUP_POLYGON       },
+            { XML_NAMESPACE_DRAW,           XML_POLYLINE,       XML_TOK_GROUP_POLYLINE      },
+            { XML_NAMESPACE_DRAW,           XML_PATH,           XML_TOK_GROUP_PATH          },
+
+            { XML_NAMESPACE_DRAW,           XML_CONTROL,        XML_TOK_GROUP_CONTROL       },
+            { XML_NAMESPACE_DRAW,           XML_CONNECTOR,      XML_TOK_GROUP_CONNECTOR     },
+            { XML_NAMESPACE_DRAW,           XML_MEASURE,        XML_TOK_GROUP_MEASURE       },
+            { XML_NAMESPACE_DRAW,           XML_PAGE_THUMBNAIL, XML_TOK_GROUP_PAGE          },
+            { XML_NAMESPACE_DRAW,           XML_CAPTION,        XML_TOK_GROUP_CAPTION       },
+
+            { XML_NAMESPACE_CHART,          XML_CHART,          XML_TOK_GROUP_CHART         },
+            { XML_NAMESPACE_DR3D,           XML_SCENE,          XML_TOK_GROUP_3DSCENE       },
+
+            { XML_NAMESPACE_DRAW,           XML_FRAME,          XML_TOK_GROUP_FRAME         },
+            { XML_NAMESPACE_DRAW,           XML_CUSTOM_SHAPE,   XML_TOK_GROUP_CUSTOM_SHAPE  },
+
+            { XML_NAMESPACE_DRAW,           XML_CUSTOM_SHAPE,   XML_TOK_GROUP_CUSTOM_SHAPE  },
+            { XML_NAMESPACE_OFFICE,         XML_ANNOTATION,     XML_TOK_GROUP_ANNOTATION    },
+            { XML_NAMESPACE_DRAW,           XML_A,              XML_TOK_GROUP_A             },
+
+            XML_TOKEN_MAP_END
+        };
 
         mpGroupShapeElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aGroupShapeElemTokenMap);
     } // if(!mpGroupShapeElemTokenMap)
@@ -218,17 +218,17 @@ const SvXMLTokenMap& XMLShapeImportHelper::GetFrameShapeElemTokenMap()
     if(!mpFrameShapeElemTokenMap)
     {
         static const SvXMLTokenMapEntry aFrameShapeElemTokenMap[] =
-{
-    { XML_NAMESPACE_DRAW,           XML_TEXT_BOX,       XML_TOK_FRAME_TEXT_BOX      },
-    { XML_NAMESPACE_DRAW,           XML_IMAGE,          XML_TOK_FRAME_IMAGE         },
-    { XML_NAMESPACE_DRAW,           XML_OBJECT,         XML_TOK_FRAME_OBJECT        },
-    { XML_NAMESPACE_DRAW,           XML_OBJECT_OLE,     XML_TOK_FRAME_OBJECT_OLE    },
-    { XML_NAMESPACE_DRAW,           XML_PLUGIN,         XML_TOK_FRAME_PLUGIN        },
-    { XML_NAMESPACE_DRAW,           XML_FLOATING_FRAME, XML_TOK_FRAME_FLOATING_FRAME},
-    { XML_NAMESPACE_DRAW,           XML_APPLET,         XML_TOK_FRAME_APPLET        },
-    { XML_NAMESPACE_TABLE,          XML_TABLE,          XML_TOK_FRAME_TABLE         },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_DRAW,           XML_TEXT_BOX,       XML_TOK_FRAME_TEXT_BOX      },
+            { XML_NAMESPACE_DRAW,           XML_IMAGE,          XML_TOK_FRAME_IMAGE         },
+            { XML_NAMESPACE_DRAW,           XML_OBJECT,         XML_TOK_FRAME_OBJECT        },
+            { XML_NAMESPACE_DRAW,           XML_OBJECT_OLE,     XML_TOK_FRAME_OBJECT_OLE    },
+            { XML_NAMESPACE_DRAW,           XML_PLUGIN,         XML_TOK_FRAME_PLUGIN        },
+            { XML_NAMESPACE_DRAW,           XML_FLOATING_FRAME, XML_TOK_FRAME_FLOATING_FRAME},
+            { XML_NAMESPACE_DRAW,           XML_APPLET,         XML_TOK_FRAME_APPLET        },
+            { XML_NAMESPACE_TABLE,          XML_TABLE,          XML_TOK_FRAME_TABLE         },
+            XML_TOKEN_MAP_END
+        };
 
         mpFrameShapeElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aFrameShapeElemTokenMap);
     } // if(!mpFrameShapeElemTokenMap)
@@ -241,14 +241,14 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DSceneShapeElemTokenMap()
     if(!mp3DSceneShapeElemTokenMap)
     {
         static const SvXMLTokenMapEntry a3DSceneShapeElemTokenMap[] =
-{
-    { XML_NAMESPACE_DR3D,           XML_SCENE,      XML_TOK_3DSCENE_3DSCENE     },
-    { XML_NAMESPACE_DR3D,           XML_CUBE,       XML_TOK_3DSCENE_3DCUBE      },
-    { XML_NAMESPACE_DR3D,           XML_SPHERE,     XML_TOK_3DSCENE_3DSPHERE    },
-    { XML_NAMESPACE_DR3D,           XML_ROTATE,     XML_TOK_3DSCENE_3DLATHE     },
-    { XML_NAMESPACE_DR3D,           XML_EXTRUDE,    XML_TOK_3DSCENE_3DEXTRUDE   },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_DR3D,           XML_SCENE,      XML_TOK_3DSCENE_3DSCENE     },
+            { XML_NAMESPACE_DR3D,           XML_CUBE,       XML_TOK_3DSCENE_3DCUBE      },
+            { XML_NAMESPACE_DR3D,           XML_SPHERE,     XML_TOK_3DSCENE_3DSPHERE    },
+            { XML_NAMESPACE_DR3D,           XML_ROTATE,     XML_TOK_3DSCENE_3DLATHE     },
+            { XML_NAMESPACE_DR3D,           XML_EXTRUDE,    XML_TOK_3DSCENE_3DEXTRUDE   },
+            XML_TOKEN_MAP_END
+        };
 
         mp3DSceneShapeElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DSceneShapeElemTokenMap);
     } // if(!mp3DSceneShapeElemTokenMap)
@@ -261,11 +261,11 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DObjectAttrTokenMap()
     if(!mp3DObjectAttrTokenMap)
     {
         static const SvXMLTokenMapEntry a3DObjectAttrTokenMap[] =
-{
-    { XML_NAMESPACE_DRAW,           XML_STYLE_NAME,         XML_TOK_3DOBJECT_DRAWSTYLE_NAME     },
-    { XML_NAMESPACE_DR3D,           XML_TRANSFORM,          XML_TOK_3DOBJECT_TRANSFORM          },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_DRAW,           XML_STYLE_NAME,         XML_TOK_3DOBJECT_DRAWSTYLE_NAME     },
+            { XML_NAMESPACE_DR3D,           XML_TRANSFORM,          XML_TOK_3DOBJECT_TRANSFORM          },
+            XML_TOKEN_MAP_END
+        };
 
         mp3DObjectAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DObjectAttrTokenMap);
     } // if(!mp3DObjectAttrTokenMap)
@@ -278,11 +278,11 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DPolygonBasedAttrTokenMap()
     if(!mp3DPolygonBasedAttrTokenMap)
     {
         static const SvXMLTokenMapEntry a3DPolygonBasedAttrTokenMap[] =
-{
-    { XML_NAMESPACE_SVG,            XML_VIEWBOX,            XML_TOK_3DPOLYGONBASED_VIEWBOX      },
-    { XML_NAMESPACE_SVG,            XML_D,                  XML_TOK_3DPOLYGONBASED_D            },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_SVG,            XML_VIEWBOX,            XML_TOK_3DPOLYGONBASED_VIEWBOX      },
+            { XML_NAMESPACE_SVG,            XML_D,                  XML_TOK_3DPOLYGONBASED_D            },
+            XML_TOKEN_MAP_END
+        };
 
         mp3DPolygonBasedAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DPolygonBasedAttrTokenMap);
     } // if(!mp3DPolygonBasedAttrTokenMap)
@@ -295,11 +295,11 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DCubeObjectAttrTokenMap()
     if(!mp3DCubeObjectAttrTokenMap)
     {
         static const SvXMLTokenMapEntry a3DCubeObjectAttrTokenMap[] =
-{
-    { XML_NAMESPACE_DR3D,           XML_MIN_EDGE,           XML_TOK_3DCUBEOBJ_MINEDGE   },
-    { XML_NAMESPACE_DR3D,           XML_MAX_EDGE,           XML_TOK_3DCUBEOBJ_MAXEDGE   },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_DR3D,           XML_MIN_EDGE,           XML_TOK_3DCUBEOBJ_MINEDGE   },
+            { XML_NAMESPACE_DR3D,           XML_MAX_EDGE,           XML_TOK_3DCUBEOBJ_MAXEDGE   },
+            XML_TOKEN_MAP_END
+        };
 
         mp3DCubeObjectAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DCubeObjectAttrTokenMap);
     } // if(!mp3DCubeObjectAttrTokenMap)
@@ -312,11 +312,11 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DSphereObjectAttrTokenMap()
     if(!mp3DSphereObjectAttrTokenMap)
     {
         static const SvXMLTokenMapEntry a3DSphereObjectAttrTokenMap[] =
-{
-    { XML_NAMESPACE_DR3D,           XML_CENTER,             XML_TOK_3DSPHEREOBJ_CENTER  },
-    { XML_NAMESPACE_DR3D,           XML_SIZE,               XML_TOK_3DSPHEREOBJ_SIZE    },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_DR3D,           XML_CENTER,             XML_TOK_3DSPHEREOBJ_CENTER  },
+            { XML_NAMESPACE_DR3D,           XML_SIZE,               XML_TOK_3DSPHEREOBJ_SIZE    },
+            XML_TOKEN_MAP_END
+        };
 
         mp3DSphereObjectAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DSphereObjectAttrTokenMap);
     } // if(!mp3DSphereObjectAttrTokenMap)
@@ -329,13 +329,13 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DLightAttrTokenMap()
     if(!mp3DLightAttrTokenMap)
     {
         static const SvXMLTokenMapEntry a3DLightAttrTokenMap[] =
-{
-    { XML_NAMESPACE_DR3D,   XML_DIFFUSE_COLOR,      XML_TOK_3DLIGHT_DIFFUSE_COLOR       },
-    { XML_NAMESPACE_DR3D,   XML_DIRECTION,          XML_TOK_3DLIGHT_DIRECTION           },
-    { XML_NAMESPACE_DR3D,   XML_ENABLED,            XML_TOK_3DLIGHT_ENABLED             },
-    { XML_NAMESPACE_DR3D,   XML_SPECULAR,           XML_TOK_3DLIGHT_SPECULAR            },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_DR3D,   XML_DIFFUSE_COLOR,      XML_TOK_3DLIGHT_DIFFUSE_COLOR       },
+            { XML_NAMESPACE_DR3D,   XML_DIRECTION,          XML_TOK_3DLIGHT_DIRECTION           },
+            { XML_NAMESPACE_DR3D,   XML_ENABLED,            XML_TOK_3DLIGHT_ENABLED             },
+            { XML_NAMESPACE_DR3D,   XML_SPECULAR,           XML_TOK_3DLIGHT_SPECULAR            },
+            XML_TOKEN_MAP_END
+        };
 
         mp3DLightAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DLightAttrTokenMap);
     } // if(!mp3DLightAttrTokenMap)
commit 45df4baf4e311e3f0e785bd7b2af9f65ffc436e8
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 11:09:32 2016 +0200

    use std::unique_ptr
    
    Change-Id: Ic6ebe839fa22e6a7b9904ad00877eddd78331ba4

diff --git a/include/xmloff/shapeimport.hxx b/include/xmloff/shapeimport.hxx
index eda682d..e9bc24f 100644
--- a/include/xmloff/shapeimport.hxx
+++ b/include/xmloff/shapeimport.hxx
@@ -279,14 +279,14 @@ class XMLOFF_DLLPUBLIC XMLShapeImportHelper : public salhelper::SimpleReferenceO
     css::uno::Reference<SvXMLStylesContext> mxAutoStylesContext;
 
     // contexts for xShape contents TokenMaps
-    SvXMLTokenMap*              mpGroupShapeElemTokenMap;
-    SvXMLTokenMap*              mpFrameShapeElemTokenMap;
-    SvXMLTokenMap*              mp3DSceneShapeElemTokenMap;
-    SvXMLTokenMap*              mp3DObjectAttrTokenMap;
-    SvXMLTokenMap*              mp3DPolygonBasedAttrTokenMap;
-    SvXMLTokenMap*              mp3DCubeObjectAttrTokenMap;
-    SvXMLTokenMap*              mp3DSphereObjectAttrTokenMap;
-    SvXMLTokenMap*              mp3DLightAttrTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mpGroupShapeElemTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mpFrameShapeElemTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mp3DSceneShapeElemTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mp3DObjectAttrTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mp3DPolygonBasedAttrTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mp3DCubeObjectAttrTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mp3DSphereObjectAttrTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mp3DLightAttrTokenMap;
 
     const OUString       msStartShape;
     const OUString       msEndShape;
diff --git a/xmloff/source/draw/shapeimport.cxx b/xmloff/source/draw/shapeimport.cxx
index 3f40c56..6e2ecb7 100644
--- a/xmloff/source/draw/shapeimport.cxx
+++ b/xmloff/source/draw/shapeimport.cxx
@@ -17,6 +17,8 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <o3tl/make_unique.hxx>
+
 #include <tools/debug.hxx>
 
 #include <com/sun/star/text/PositionLayoutDir.hpp>
@@ -113,14 +115,6 @@ XMLShapeImportHelper::XMLShapeImportHelper(
 
     mpPropertySetMapper(nullptr),
     mpPresPagePropsMapper(nullptr),
-    mpGroupShapeElemTokenMap(nullptr),
-    mpFrameShapeElemTokenMap(nullptr),
-    mp3DSceneShapeElemTokenMap(nullptr),
-    mp3DObjectAttrTokenMap(nullptr),
-    mp3DPolygonBasedAttrTokenMap(nullptr),
-    mp3DCubeObjectAttrTokenMap(nullptr),
-    mp3DSphereObjectAttrTokenMap(nullptr),
-    mp3DLightAttrTokenMap(nullptr),
     msStartShape("StartShape"),
     msEndShape("EndShape"),
     msStartGluePointIndex("StartGluePointIndex"),
@@ -171,16 +165,6 @@ XMLShapeImportHelper::~XMLShapeImportHelper()
     // cleanup presPage mapper, decrease refcount. Should lead to destruction.
     mpPresPagePropsMapper.clear();
 
-    delete mpGroupShapeElemTokenMap;
-    delete mpFrameShapeElemTokenMap;
-
-    delete mp3DSceneShapeElemTokenMap;
-    delete mp3DObjectAttrTokenMap;
-    delete mp3DPolygonBasedAttrTokenMap;
-    delete mp3DCubeObjectAttrTokenMap;
-    delete mp3DSphereObjectAttrTokenMap;
-    delete mp3DLightAttrTokenMap;
-
     // Styles or AutoStyles context?
     if(mxStylesContext.is())
         mxStylesContext->Clear();
@@ -223,7 +207,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::GetGroupShapeElemTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mpGroupShapeElemTokenMap = new SvXMLTokenMap(aGroupShapeElemTokenMap);
+        mpGroupShapeElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aGroupShapeElemTokenMap);
     } // if(!mpGroupShapeElemTokenMap)
 
     return *mpGroupShapeElemTokenMap;
@@ -246,7 +230,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::GetFrameShapeElemTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mpFrameShapeElemTokenMap = new SvXMLTokenMap(aFrameShapeElemTokenMap);
+        mpFrameShapeElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aFrameShapeElemTokenMap);
     } // if(!mpFrameShapeElemTokenMap)
 
     return *mpFrameShapeElemTokenMap;
@@ -266,7 +250,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DSceneShapeElemTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mp3DSceneShapeElemTokenMap = new SvXMLTokenMap(a3DSceneShapeElemTokenMap);
+        mp3DSceneShapeElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DSceneShapeElemTokenMap);
     } // if(!mp3DSceneShapeElemTokenMap)
 
     return *mp3DSceneShapeElemTokenMap;
@@ -283,7 +267,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DObjectAttrTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mp3DObjectAttrTokenMap = new SvXMLTokenMap(a3DObjectAttrTokenMap);
+        mp3DObjectAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DObjectAttrTokenMap);
     } // if(!mp3DObjectAttrTokenMap)
 
     return *mp3DObjectAttrTokenMap;
@@ -300,7 +284,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DPolygonBasedAttrTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mp3DPolygonBasedAttrTokenMap = new SvXMLTokenMap(a3DPolygonBasedAttrTokenMap);
+        mp3DPolygonBasedAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DPolygonBasedAttrTokenMap);
     } // if(!mp3DPolygonBasedAttrTokenMap)
 
     return *mp3DPolygonBasedAttrTokenMap;
@@ -317,7 +301,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DCubeObjectAttrTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mp3DCubeObjectAttrTokenMap = new SvXMLTokenMap(a3DCubeObjectAttrTokenMap);
+        mp3DCubeObjectAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DCubeObjectAttrTokenMap);
     } // if(!mp3DCubeObjectAttrTokenMap)
 
     return *mp3DCubeObjectAttrTokenMap;
@@ -334,7 +318,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DSphereObjectAttrTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mp3DSphereObjectAttrTokenMap = new SvXMLTokenMap(a3DSphereObjectAttrTokenMap);
+        mp3DSphereObjectAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DSphereObjectAttrTokenMap);
     } // if(!mp3DSphereObjectAttrTokenMap)
 
     return *mp3DSphereObjectAttrTokenMap;
@@ -353,7 +337,7 @@ const SvXMLTokenMap& XMLShapeImportHelper::Get3DLightAttrTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mp3DLightAttrTokenMap = new SvXMLTokenMap(a3DLightAttrTokenMap);
+        mp3DLightAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(a3DLightAttrTokenMap);
     } // if(!mp3DLightAttrTokenMap)
 
     return *mp3DLightAttrTokenMap;
commit bb35e4dcf986619edb300f4dcd35d54b04dce034
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 11:05:39 2016 +0200

    remove direct memory management
    
    Change-Id: I5dd5d9130f11f47c4b48c1aae9748434ac751d95

diff --git a/include/xmloff/shapeimport.hxx b/include/xmloff/shapeimport.hxx
index db54f5c..eda682d 100644
--- a/include/xmloff/shapeimport.hxx
+++ b/include/xmloff/shapeimport.hxx
@@ -275,8 +275,8 @@ class XMLOFF_DLLPUBLIC XMLShapeImportHelper : public salhelper::SimpleReferenceO
     rtl::Reference<SvXMLImportPropertyMapper> mpPresPagePropsMapper;
 
     // contexts for Style and AutoStyle import
-    SvXMLStylesContext*         mpStylesContext;
-    SvXMLStylesContext*         mpAutoStylesContext;
+    css::uno::Reference<SvXMLStylesContext> mxStylesContext;
+    css::uno::Reference<SvXMLStylesContext> mxAutoStylesContext;
 
     // contexts for xShape contents TokenMaps
     SvXMLTokenMap*              mpGroupShapeElemTokenMap;
@@ -335,9 +335,9 @@ public:
     const SvXMLTokenMap& Get3DLightAttrTokenMap();
 
     // Styles and AutoStyles contexts
-    SvXMLStylesContext* GetStylesContext() const { return mpStylesContext; }
+    SvXMLStylesContext* GetStylesContext() const { return mxStylesContext.get(); }
     void SetStylesContext(SvXMLStylesContext* pNew);
-    SvXMLStylesContext* GetAutoStylesContext() const { return mpAutoStylesContext; }
+    SvXMLStylesContext* GetAutoStylesContext() const { return mxAutoStylesContext.get(); }
     void SetAutoStylesContext(SvXMLStylesContext* pNew);
 
     // get factories and mappers
diff --git a/xmloff/source/draw/shapeimport.cxx b/xmloff/source/draw/shapeimport.cxx
index 2402aad..3f40c56 100644
--- a/xmloff/source/draw/shapeimport.cxx
+++ b/xmloff/source/draw/shapeimport.cxx
@@ -113,8 +113,6 @@ XMLShapeImportHelper::XMLShapeImportHelper(
 
     mpPropertySetMapper(nullptr),
     mpPresPagePropsMapper(nullptr),
-    mpStylesContext(nullptr),
-    mpAutoStylesContext(nullptr),
     mpGroupShapeElemTokenMap(nullptr),
     mpFrameShapeElemTokenMap(nullptr),
     mp3DSceneShapeElemTokenMap(nullptr),
@@ -184,17 +182,11 @@ XMLShapeImportHelper::~XMLShapeImportHelper()
     delete mp3DLightAttrTokenMap;
 
     // Styles or AutoStyles context?
-    if(mpStylesContext)
-    {
-        mpStylesContext->Clear();
-        mpStylesContext->ReleaseRef();
-    }
+    if(mxStylesContext.is())
+        mxStylesContext->Clear();
 
-    if(mpAutoStylesContext)
-    {
-        mpAutoStylesContext->Clear();
-        mpAutoStylesContext->ReleaseRef();
-    }
+    if(mxAutoStylesContext.is())
+        mxAutoStylesContext->Clear();
 }
 
 const SvXMLTokenMap& XMLShapeImportHelper::GetGroupShapeElemTokenMap()
@@ -434,16 +426,12 @@ SvXMLShapeContext* XMLShapeImportHelper::Create3DSceneChildContext(
 
 void XMLShapeImportHelper::SetStylesContext(SvXMLStylesContext* pNew)
 {
-    mpStylesContext = pNew;
-    if (mpStylesContext)
-        mpStylesContext->AddFirstRef();
+    mxStylesContext.set(pNew);
 }
 
 void XMLShapeImportHelper::SetAutoStylesContext(SvXMLStylesContext* pNew)
 {
-    mpAutoStylesContext = pNew;
-    if (mpAutoStylesContext)
-        mpAutoStylesContext->AddFirstRef();
+    mxAutoStylesContext.set(pNew);
 }
 
 SvXMLShapeContext* XMLShapeImportHelper::CreateGroupChildContext(
commit 8b229333aeb98dae259dac068b67195a8baa1423
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 10:59:54 2016 +0200

    fix indentation
    
    Change-Id: I7f2bf5b4ee507cd50904a193bfd64b293cbdd922

diff --git a/xmloff/source/draw/sdxmlimp.cxx b/xmloff/source/draw/sdxmlimp.cxx
index 622d3cf..8053989 100644
--- a/xmloff/source/draw/sdxmlimp.cxx
+++ b/xmloff/source/draw/sdxmlimp.cxx
@@ -426,15 +426,15 @@ const SvXMLTokenMap& SdXMLImport::GetBodyElemTokenMap()
     if(!mpBodyElemTokenMap)
     {
         static const SvXMLTokenMapEntry aBodyElemTokenMap[] =
-{
-    { XML_NAMESPACE_DRAW,   XML_PAGE,               XML_TOK_BODY_PAGE   },
-    { XML_NAMESPACE_PRESENTATION, XML_SETTINGS,     XML_TOK_BODY_SETTINGS   },
-    { XML_NAMESPACE_PRESENTATION, XML_HEADER_DECL,  XML_TOK_BODY_HEADER_DECL    },
-    { XML_NAMESPACE_PRESENTATION, XML_FOOTER_DECL,  XML_TOK_BODY_FOOTER_DECL    },
-    { XML_NAMESPACE_PRESENTATION, XML_DATE_TIME_DECL,XML_TOK_BODY_DATE_TIME_DECL    },
+        {
+            { XML_NAMESPACE_DRAW,   XML_PAGE,               XML_TOK_BODY_PAGE   },
+            { XML_NAMESPACE_PRESENTATION, XML_SETTINGS,     XML_TOK_BODY_SETTINGS   },
+            { XML_NAMESPACE_PRESENTATION, XML_HEADER_DECL,  XML_TOK_BODY_HEADER_DECL    },
+            { XML_NAMESPACE_PRESENTATION, XML_FOOTER_DECL,  XML_TOK_BODY_FOOTER_DECL    },
+            { XML_NAMESPACE_PRESENTATION, XML_DATE_TIME_DECL,XML_TOK_BODY_DATE_TIME_DECL    },
 
-    XML_TOKEN_MAP_END
-};
+            XML_TOKEN_MAP_END
+        };
 
         mpBodyElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aBodyElemTokenMap);
     }
@@ -447,12 +447,12 @@ const SvXMLTokenMap& SdXMLImport::GetStylesElemTokenMap()
     if(!mpStylesElemTokenMap)
     {
         static const SvXMLTokenMapEntry aStylesElemTokenMap[] =
-{
-    { XML_NAMESPACE_STYLE,  XML_PAGE_LAYOUT,                XML_TOK_STYLES_PAGE_MASTER              },
-    { XML_NAMESPACE_STYLE,  XML_PRESENTATION_PAGE_LAYOUT,   XML_TOK_STYLES_PRESENTATION_PAGE_LAYOUT },
-    { XML_NAMESPACE_STYLE,  XML_STYLE,                      XML_TOK_STYLES_STYLE    },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_STYLE,  XML_PAGE_LAYOUT,                XML_TOK_STYLES_PAGE_MASTER              },
+            { XML_NAMESPACE_STYLE,  XML_PRESENTATION_PAGE_LAYOUT,   XML_TOK_STYLES_PRESENTATION_PAGE_LAYOUT },
+            { XML_NAMESPACE_STYLE,  XML_STYLE,                      XML_TOK_STYLES_STYLE    },
+            XML_TOKEN_MAP_END
+        };
 
         mpStylesElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aStylesElemTokenMap);
     }
@@ -465,11 +465,11 @@ const SvXMLTokenMap& SdXMLImport::GetMasterPageElemTokenMap()
     if(!mpMasterPageElemTokenMap)
     {
         static const SvXMLTokenMapEntry aMasterPageElemTokenMap[] =
-{
-    { XML_NAMESPACE_STYLE,          XML_STYLE,      XML_TOK_MASTERPAGE_STYLE    },
-    { XML_NAMESPACE_PRESENTATION,   XML_NOTES,      XML_TOK_MASTERPAGE_NOTES    },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_STYLE,          XML_STYLE,      XML_TOK_MASTERPAGE_STYLE    },
+            { XML_NAMESPACE_PRESENTATION,   XML_NOTES,      XML_TOK_MASTERPAGE_NOTES    },
+            XML_TOKEN_MAP_END
+        };
 
         mpMasterPageElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aMasterPageElemTokenMap);
     }
@@ -482,17 +482,17 @@ const SvXMLTokenMap& SdXMLImport::GetMasterPageAttrTokenMap()
     if(!mpMasterPageAttrTokenMap)
     {
         static const SvXMLTokenMapEntry aMasterPageAttrTokenMap[] =
-{
-    { XML_NAMESPACE_STYLE,  XML_NAME,                       XML_TOK_MASTERPAGE_NAME },
-    { XML_NAMESPACE_STYLE,  XML_DISPLAY_NAME,               XML_TOK_MASTERPAGE_DISPLAY_NAME },
-    { XML_NAMESPACE_STYLE,  XML_PAGE_LAYOUT_NAME,           XML_TOK_MASTERPAGE_PAGE_MASTER_NAME },
-    { XML_NAMESPACE_DRAW,   XML_STYLE_NAME,                 XML_TOK_MASTERPAGE_STYLE_NAME       },
-    { XML_NAMESPACE_PRESENTATION,   XML_PRESENTATION_PAGE_LAYOUT_NAME,  XML_TOK_MASTERPAGE_PAGE_LAYOUT_NAME },
-    { XML_NAMESPACE_PRESENTATION,   XML_USE_HEADER_NAME,                XML_TOK_MASTERPAGE_USE_HEADER_NAME  },
-    { XML_NAMESPACE_PRESENTATION,   XML_USE_FOOTER_NAME,                XML_TOK_MASTERPAGE_USE_FOOTER_NAME  },
-    { XML_NAMESPACE_PRESENTATION,   XML_USE_DATE_TIME_NAME,             XML_TOK_MASTERPAGE_USE_DATE_TIME_NAME   },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_STYLE,  XML_NAME,                       XML_TOK_MASTERPAGE_NAME },
+            { XML_NAMESPACE_STYLE,  XML_DISPLAY_NAME,               XML_TOK_MASTERPAGE_DISPLAY_NAME },
+            { XML_NAMESPACE_STYLE,  XML_PAGE_LAYOUT_NAME,           XML_TOK_MASTERPAGE_PAGE_MASTER_NAME },
+            { XML_NAMESPACE_DRAW,   XML_STYLE_NAME,                 XML_TOK_MASTERPAGE_STYLE_NAME       },
+            { XML_NAMESPACE_PRESENTATION,   XML_PRESENTATION_PAGE_LAYOUT_NAME,  XML_TOK_MASTERPAGE_PAGE_LAYOUT_NAME },
+            { XML_NAMESPACE_PRESENTATION,   XML_USE_HEADER_NAME,                XML_TOK_MASTERPAGE_USE_HEADER_NAME  },
+            { XML_NAMESPACE_PRESENTATION,   XML_USE_FOOTER_NAME,                XML_TOK_MASTERPAGE_USE_FOOTER_NAME  },
+            { XML_NAMESPACE_PRESENTATION,   XML_USE_DATE_TIME_NAME,             XML_TOK_MASTERPAGE_USE_DATE_TIME_NAME   },
+            XML_TOKEN_MAP_END
+        };
 
         mpMasterPageAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aMasterPageAttrTokenMap);
     }
@@ -505,10 +505,10 @@ const SvXMLTokenMap& SdXMLImport::GetPageMasterAttrTokenMap()
     if(!mpPageMasterAttrTokenMap)
     {
         static const SvXMLTokenMapEntry aPageMasterAttrTokenMap[] =
-{
-    { XML_NAMESPACE_STYLE,          XML_NAME,               XML_TOK_PAGEMASTER_NAME                 },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_STYLE,          XML_NAME,               XML_TOK_PAGEMASTER_NAME                 },
+            XML_TOKEN_MAP_END
+        };
 
         mpPageMasterAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aPageMasterAttrTokenMap);
     }
@@ -521,16 +521,16 @@ const SvXMLTokenMap& SdXMLImport::GetPageMasterStyleAttrTokenMap()
     if(!mpPageMasterStyleAttrTokenMap)
     {
         static const SvXMLTokenMapEntry aPageMasterStyleAttrTokenMap[] =
-{
-    { XML_NAMESPACE_FO,             XML_MARGIN_TOP,         XML_TOK_PAGEMASTERSTYLE_MARGIN_TOP          },
-    { XML_NAMESPACE_FO,             XML_MARGIN_BOTTOM,      XML_TOK_PAGEMASTERSTYLE_MARGIN_BOTTOM       },
-    { XML_NAMESPACE_FO,             XML_MARGIN_LEFT,        XML_TOK_PAGEMASTERSTYLE_MARGIN_LEFT         },
-    { XML_NAMESPACE_FO,             XML_MARGIN_RIGHT,       XML_TOK_PAGEMASTERSTYLE_MARGIN_RIGHT        },
-    { XML_NAMESPACE_FO,             XML_PAGE_WIDTH,         XML_TOK_PAGEMASTERSTYLE_PAGE_WIDTH          },
-    { XML_NAMESPACE_FO,             XML_PAGE_HEIGHT,        XML_TOK_PAGEMASTERSTYLE_PAGE_HEIGHT         },
-    { XML_NAMESPACE_STYLE,          XML_PRINT_ORIENTATION,  XML_TOK_PAGEMASTERSTYLE_PAGE_ORIENTATION    },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_FO,             XML_MARGIN_TOP,         XML_TOK_PAGEMASTERSTYLE_MARGIN_TOP          },
+            { XML_NAMESPACE_FO,             XML_MARGIN_BOTTOM,      XML_TOK_PAGEMASTERSTYLE_MARGIN_BOTTOM       },
+            { XML_NAMESPACE_FO,             XML_MARGIN_LEFT,        XML_TOK_PAGEMASTERSTYLE_MARGIN_LEFT         },
+            { XML_NAMESPACE_FO,             XML_MARGIN_RIGHT,       XML_TOK_PAGEMASTERSTYLE_MARGIN_RIGHT        },
+            { XML_NAMESPACE_FO,             XML_PAGE_WIDTH,         XML_TOK_PAGEMASTERSTYLE_PAGE_WIDTH          },
+            { XML_NAMESPACE_FO,             XML_PAGE_HEIGHT,        XML_TOK_PAGEMASTERSTYLE_PAGE_HEIGHT         },
+            { XML_NAMESPACE_STYLE,          XML_PRINT_ORIENTATION,  XML_TOK_PAGEMASTERSTYLE_PAGE_ORIENTATION    },
+            XML_TOKEN_MAP_END
+        };
 
         mpPageMasterStyleAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aPageMasterStyleAttrTokenMap);
     }
@@ -543,20 +543,20 @@ const SvXMLTokenMap& SdXMLImport::GetDrawPageAttrTokenMap()
     if(!mpDrawPageAttrTokenMap)
     {
         static const SvXMLTokenMapEntry aDrawPageAttrTokenMap[] =
-{
-    { XML_NAMESPACE_DRAW,           XML_NAME,                           XML_TOK_DRAWPAGE_NAME               },
-    { XML_NAMESPACE_DRAW,           XML_STYLE_NAME,                     XML_TOK_DRAWPAGE_STYLE_NAME         },
-    { XML_NAMESPACE_DRAW,           XML_MASTER_PAGE_NAME,               XML_TOK_DRAWPAGE_MASTER_PAGE_NAME   },
-    { XML_NAMESPACE_PRESENTATION,   XML_PRESENTATION_PAGE_LAYOUT_NAME,  XML_TOK_DRAWPAGE_PAGE_LAYOUT_NAME   },
-    { XML_NAMESPACE_DRAW,           XML_ID,                             XML_TOK_DRAWPAGE_DRAWID                 },
-    { XML_NAMESPACE_XML,            XML_ID,                             XML_TOK_DRAWPAGE_XMLID                  },
-    { XML_NAMESPACE_XLINK,          XML_HREF,                           XML_TOK_DRAWPAGE_HREF               },
-    { XML_NAMESPACE_PRESENTATION,   XML_USE_HEADER_NAME,                XML_TOK_DRAWPAGE_USE_HEADER_NAME    },
-    { XML_NAMESPACE_PRESENTATION,   XML_USE_FOOTER_NAME,                XML_TOK_DRAWPAGE_USE_FOOTER_NAME    },
-    { XML_NAMESPACE_PRESENTATION,   XML_USE_DATE_TIME_NAME,             XML_TOK_DRAWPAGE_USE_DATE_TIME_NAME },
-
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_DRAW,           XML_NAME,                           XML_TOK_DRAWPAGE_NAME               },
+            { XML_NAMESPACE_DRAW,           XML_STYLE_NAME,                     XML_TOK_DRAWPAGE_STYLE_NAME         },
+            { XML_NAMESPACE_DRAW,           XML_MASTER_PAGE_NAME,               XML_TOK_DRAWPAGE_MASTER_PAGE_NAME   },
+            { XML_NAMESPACE_PRESENTATION,   XML_PRESENTATION_PAGE_LAYOUT_NAME,  XML_TOK_DRAWPAGE_PAGE_LAYOUT_NAME   },
+            { XML_NAMESPACE_DRAW,           XML_ID,                             XML_TOK_DRAWPAGE_DRAWID                 },
+            { XML_NAMESPACE_XML,            XML_ID,                             XML_TOK_DRAWPAGE_XMLID                  },
+            { XML_NAMESPACE_XLINK,          XML_HREF,                           XML_TOK_DRAWPAGE_HREF               },
+            { XML_NAMESPACE_PRESENTATION,   XML_USE_HEADER_NAME,                XML_TOK_DRAWPAGE_USE_HEADER_NAME    },
+            { XML_NAMESPACE_PRESENTATION,   XML_USE_FOOTER_NAME,                XML_TOK_DRAWPAGE_USE_FOOTER_NAME    },
+            { XML_NAMESPACE_PRESENTATION,   XML_USE_DATE_TIME_NAME,             XML_TOK_DRAWPAGE_USE_DATE_TIME_NAME },
+
+            XML_TOKEN_MAP_END
+        };
 
         mpDrawPageAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aDrawPageAttrTokenMap);
     }
@@ -569,12 +569,12 @@ const SvXMLTokenMap& SdXMLImport::GetDrawPageElemTokenMap()
     if(!mpDrawPageElemTokenMap)
     {
         static const SvXMLTokenMapEntry aDrawPageElemTokenMap[] =
-{
-    { XML_NAMESPACE_PRESENTATION,   XML_NOTES,              XML_TOK_DRAWPAGE_NOTES      },
-    { XML_NAMESPACE_ANIMATION,      XML_PAR,                XML_TOK_DRAWPAGE_PAR        },
-    { XML_NAMESPACE_ANIMATION,      XML_SEQ,                XML_TOK_DRAWPAGE_SEQ        },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_PRESENTATION,   XML_NOTES,              XML_TOK_DRAWPAGE_NOTES      },
+            { XML_NAMESPACE_ANIMATION,      XML_PAR,                XML_TOK_DRAWPAGE_PAR        },
+            { XML_NAMESPACE_ANIMATION,      XML_SEQ,                XML_TOK_DRAWPAGE_SEQ        },
+            XML_TOKEN_MAP_END
+        };
 
         mpDrawPageElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aDrawPageElemTokenMap);
     }
@@ -587,14 +587,14 @@ const SvXMLTokenMap& SdXMLImport::GetPresentationPlaceholderAttrTokenMap()
     if(!mpPresentationPlaceholderAttrTokenMap)
     {
         static const SvXMLTokenMapEntry aPresentationPlaceholderAttrTokenMap[] =
-{
-    { XML_NAMESPACE_PRESENTATION,   XML_OBJECT,     XML_TOK_PRESENTATIONPLACEHOLDER_OBJECTNAME  },
-    { XML_NAMESPACE_SVG,            XML_X,          XML_TOK_PRESENTATIONPLACEHOLDER_X           },
-    { XML_NAMESPACE_SVG,            XML_Y,          XML_TOK_PRESENTATIONPLACEHOLDER_Y           },
-    { XML_NAMESPACE_SVG,            XML_WIDTH,      XML_TOK_PRESENTATIONPLACEHOLDER_WIDTH       },
-    { XML_NAMESPACE_SVG,            XML_HEIGHT,     XML_TOK_PRESENTATIONPLACEHOLDER_HEIGHT      },
-    XML_TOKEN_MAP_END
-};
+        {
+            { XML_NAMESPACE_PRESENTATION,   XML_OBJECT,     XML_TOK_PRESENTATIONPLACEHOLDER_OBJECTNAME  },
+            { XML_NAMESPACE_SVG,            XML_X,          XML_TOK_PRESENTATIONPLACEHOLDER_X           },
+            { XML_NAMESPACE_SVG,            XML_Y,          XML_TOK_PRESENTATIONPLACEHOLDER_Y           },
+            { XML_NAMESPACE_SVG,            XML_WIDTH,      XML_TOK_PRESENTATIONPLACEHOLDER_WIDTH       },
+            { XML_NAMESPACE_SVG,            XML_HEIGHT,     XML_TOK_PRESENTATIONPLACEHOLDER_HEIGHT      },
+            XML_TOKEN_MAP_END
+        };
 
         mpPresentationPlaceholderAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aPresentationPlaceholderAttrTokenMap);
     }
commit d0d596fc737404e1102fa49086eb585c473cc77a
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 10:58:55 2016 +0200

    drop useless comments
    
    Change-Id: I0493541da0d444ab94676365e93d4e0e5712bbea

diff --git a/xmloff/source/draw/sdxmlimp.cxx b/xmloff/source/draw/sdxmlimp.cxx
index d1dacf1..622d3cf 100644
--- a/xmloff/source/draw/sdxmlimp.cxx
+++ b/xmloff/source/draw/sdxmlimp.cxx
@@ -416,7 +416,7 @@ const SvXMLTokenMap& SdXMLImport::GetDocElemTokenMap()
 };
 
         mpDocElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aDocElemTokenMap);
-    } // if(!mpDocElemTokenMap)
+    }
 
     return *mpDocElemTokenMap;
 }
@@ -437,7 +437,7 @@ const SvXMLTokenMap& SdXMLImport::GetBodyElemTokenMap()
 };
 
         mpBodyElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aBodyElemTokenMap);
-    } // if(!mpBodyElemTokenMap)
+    }
 
     return *mpBodyElemTokenMap;
 }
@@ -455,7 +455,7 @@ const SvXMLTokenMap& SdXMLImport::GetStylesElemTokenMap()
 };
 
         mpStylesElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aStylesElemTokenMap);
-    } // if(!mpStylesElemTokenMap)
+    }
 
     return *mpStylesElemTokenMap;
 }
@@ -472,7 +472,7 @@ const SvXMLTokenMap& SdXMLImport::GetMasterPageElemTokenMap()
 };
 
         mpMasterPageElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aMasterPageElemTokenMap);
-    } // if(!mpMasterPageElemTokenMap)
+    }
 
     return *mpMasterPageElemTokenMap;
 }
@@ -495,7 +495,7 @@ const SvXMLTokenMap& SdXMLImport::GetMasterPageAttrTokenMap()
 };
 
         mpMasterPageAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aMasterPageAttrTokenMap);
-    } // if(!mpMasterPageAttrTokenMap)
+    }
 
     return *mpMasterPageAttrTokenMap;
 }
@@ -511,7 +511,7 @@ const SvXMLTokenMap& SdXMLImport::GetPageMasterAttrTokenMap()
 };
 
         mpPageMasterAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aPageMasterAttrTokenMap);
-    } // if(!mpPageMasterAttrTokenMap)
+    }
 
     return *mpPageMasterAttrTokenMap;
 }
@@ -533,7 +533,7 @@ const SvXMLTokenMap& SdXMLImport::GetPageMasterStyleAttrTokenMap()
 };
 
         mpPageMasterStyleAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aPageMasterStyleAttrTokenMap);
-    } // if(!mpPageMasterStyleAttrTokenMap)
+    }
 
     return *mpPageMasterStyleAttrTokenMap;
 }
@@ -559,7 +559,7 @@ const SvXMLTokenMap& SdXMLImport::GetDrawPageAttrTokenMap()
 };
 
         mpDrawPageAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aDrawPageAttrTokenMap);
-    } // if(!mpDrawPageAttrTokenMap)
+    }
 
     return *mpDrawPageAttrTokenMap;
 }
@@ -577,7 +577,7 @@ const SvXMLTokenMap& SdXMLImport::GetDrawPageElemTokenMap()
 };
 
         mpDrawPageElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aDrawPageElemTokenMap);
-    } // if(!mpDrawPageElemTokenMap)
+    }
 
     return *mpDrawPageElemTokenMap;
 }
@@ -597,7 +597,7 @@ const SvXMLTokenMap& SdXMLImport::GetPresentationPlaceholderAttrTokenMap()
 };
 
         mpPresentationPlaceholderAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aPresentationPlaceholderAttrTokenMap);
-    } // if(!mpPresentationPlaceholderAttrTokenMap)
+    }
 
     return *mpPresentationPlaceholderAttrTokenMap;
 }
commit db77b0c691cb3725bdef016117aad0f32718af9f
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 10:58:05 2016 +0200

    use std::unique_ptr
    
    Change-Id: If5e2e9a47480cca5fea09f96e876aece9cb21f9e

diff --git a/xmloff/source/draw/sdxmlimp.cxx b/xmloff/source/draw/sdxmlimp.cxx
index da92ee2..d1dacf1 100644
--- a/xmloff/source/draw/sdxmlimp.cxx
+++ b/xmloff/source/draw/sdxmlimp.cxx
@@ -17,6 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <o3tl/make_unique.hxx>
 #include <osl/thread.h>
 #include <comphelper/processfactory.hxx>
 
@@ -283,16 +284,6 @@ SdXMLImport::SdXMLImport(
     OUString const & implementationName,
     bool bIsDraw, SvXMLImportFlags nImportFlags )
 :   SvXMLImport( xContext, implementationName, nImportFlags ),
-    mpDocElemTokenMap(nullptr),
-    mpBodyElemTokenMap(nullptr),
-    mpStylesElemTokenMap(nullptr),
-    mpMasterPageElemTokenMap(nullptr),
-    mpMasterPageAttrTokenMap(nullptr),
-    mpPageMasterAttrTokenMap(nullptr),
-    mpPageMasterStyleAttrTokenMap(nullptr),
-    mpDrawPageAttrTokenMap(nullptr),
-    mpDrawPageElemTokenMap(nullptr),
-    mpPresentationPlaceholderAttrTokenMap(nullptr),
     mnNewPageCount(0L),
     mnNewMasterPageCount(0L),
     mbIsDraw(bIsDraw),
@@ -407,21 +398,6 @@ void SAL_CALL SdXMLImport::initialize( const uno::Sequence< uno::Any >& aArgumen
     }
 }
 
-SdXMLImport::~SdXMLImport() throw ()
-{
-    // delete all token maps
-    delete mpDocElemTokenMap;
-    delete mpBodyElemTokenMap;
-    delete mpStylesElemTokenMap;
-    delete mpMasterPageElemTokenMap;
-    delete mpMasterPageAttrTokenMap;
-    delete mpPageMasterAttrTokenMap;
-    delete mpPageMasterStyleAttrTokenMap;
-    delete mpDrawPageAttrTokenMap;
-    delete mpDrawPageElemTokenMap;
-    delete mpPresentationPlaceholderAttrTokenMap;
-}
-
 const SvXMLTokenMap& SdXMLImport::GetDocElemTokenMap()
 {
     if(!mpDocElemTokenMap)
@@ -439,7 +415,7 @@ const SvXMLTokenMap& SdXMLImport::GetDocElemTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mpDocElemTokenMap = new SvXMLTokenMap(aDocElemTokenMap);
+        mpDocElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aDocElemTokenMap);
     } // if(!mpDocElemTokenMap)
 
     return *mpDocElemTokenMap;
@@ -460,7 +436,7 @@ const SvXMLTokenMap& SdXMLImport::GetBodyElemTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mpBodyElemTokenMap = new SvXMLTokenMap(aBodyElemTokenMap);
+        mpBodyElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aBodyElemTokenMap);
     } // if(!mpBodyElemTokenMap)
 
     return *mpBodyElemTokenMap;
@@ -478,7 +454,7 @@ const SvXMLTokenMap& SdXMLImport::GetStylesElemTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mpStylesElemTokenMap = new SvXMLTokenMap(aStylesElemTokenMap);
+        mpStylesElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aStylesElemTokenMap);
     } // if(!mpStylesElemTokenMap)
 
     return *mpStylesElemTokenMap;
@@ -495,7 +471,7 @@ const SvXMLTokenMap& SdXMLImport::GetMasterPageElemTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mpMasterPageElemTokenMap = new SvXMLTokenMap(aMasterPageElemTokenMap);
+        mpMasterPageElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aMasterPageElemTokenMap);
     } // if(!mpMasterPageElemTokenMap)
 
     return *mpMasterPageElemTokenMap;
@@ -518,7 +494,7 @@ const SvXMLTokenMap& SdXMLImport::GetMasterPageAttrTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mpMasterPageAttrTokenMap = new SvXMLTokenMap(aMasterPageAttrTokenMap);
+        mpMasterPageAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aMasterPageAttrTokenMap);
     } // if(!mpMasterPageAttrTokenMap)
 
     return *mpMasterPageAttrTokenMap;
@@ -534,7 +510,7 @@ const SvXMLTokenMap& SdXMLImport::GetPageMasterAttrTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mpPageMasterAttrTokenMap = new SvXMLTokenMap(aPageMasterAttrTokenMap);
+        mpPageMasterAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aPageMasterAttrTokenMap);
     } // if(!mpPageMasterAttrTokenMap)
 
     return *mpPageMasterAttrTokenMap;
@@ -556,7 +532,7 @@ const SvXMLTokenMap& SdXMLImport::GetPageMasterStyleAttrTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mpPageMasterStyleAttrTokenMap = new SvXMLTokenMap(aPageMasterStyleAttrTokenMap);
+        mpPageMasterStyleAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aPageMasterStyleAttrTokenMap);
     } // if(!mpPageMasterStyleAttrTokenMap)
 
     return *mpPageMasterStyleAttrTokenMap;
@@ -582,7 +558,7 @@ const SvXMLTokenMap& SdXMLImport::GetDrawPageAttrTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mpDrawPageAttrTokenMap = new SvXMLTokenMap(aDrawPageAttrTokenMap);
+        mpDrawPageAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aDrawPageAttrTokenMap);
     } // if(!mpDrawPageAttrTokenMap)
 
     return *mpDrawPageAttrTokenMap;
@@ -600,7 +576,7 @@ const SvXMLTokenMap& SdXMLImport::GetDrawPageElemTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mpDrawPageElemTokenMap = new SvXMLTokenMap(aDrawPageElemTokenMap);
+        mpDrawPageElemTokenMap = o3tl::make_unique<SvXMLTokenMap>(aDrawPageElemTokenMap);
     } // if(!mpDrawPageElemTokenMap)
 
     return *mpDrawPageElemTokenMap;
@@ -620,7 +596,7 @@ const SvXMLTokenMap& SdXMLImport::GetPresentationPlaceholderAttrTokenMap()
     XML_TOKEN_MAP_END
 };
 
-        mpPresentationPlaceholderAttrTokenMap = new SvXMLTokenMap(aPresentationPlaceholderAttrTokenMap);
+        mpPresentationPlaceholderAttrTokenMap = o3tl::make_unique<SvXMLTokenMap>(aPresentationPlaceholderAttrTokenMap);
     } // if(!mpPresentationPlaceholderAttrTokenMap)
 
     return *mpPresentationPlaceholderAttrTokenMap;
diff --git a/xmloff/source/draw/sdxmlimp_impl.hxx b/xmloff/source/draw/sdxmlimp_impl.hxx
index 27e3813..e8bc3a1 100644
--- a/xmloff/source/draw/sdxmlimp_impl.hxx
+++ b/xmloff/source/draw/sdxmlimp_impl.hxx
@@ -27,6 +27,7 @@
 #include <com/sun/star/container/XNameAccess.hpp>
 
 #include <map>
+#include <memory>
 #include <vector>
 #include <xmloff/xmlimp.hxx>
 
@@ -170,16 +171,16 @@ class SdXMLImport: public SvXMLImport
     css::uno::Reference<SdXMLMasterStylesContext> mxMasterStylesContext;
 
     // token map lists
-    SvXMLTokenMap*              mpDocElemTokenMap;
-    SvXMLTokenMap*              mpBodyElemTokenMap;
-    SvXMLTokenMap*              mpStylesElemTokenMap;
-    SvXMLTokenMap*              mpMasterPageElemTokenMap;
-    SvXMLTokenMap*              mpMasterPageAttrTokenMap;
-    SvXMLTokenMap*              mpPageMasterAttrTokenMap;
-    SvXMLTokenMap*              mpPageMasterStyleAttrTokenMap;
-    SvXMLTokenMap*              mpDrawPageAttrTokenMap;
-    SvXMLTokenMap*              mpDrawPageElemTokenMap;
-    SvXMLTokenMap*              mpPresentationPlaceholderAttrTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mpDocElemTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mpBodyElemTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mpStylesElemTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mpMasterPageElemTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mpMasterPageAttrTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mpPageMasterAttrTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mpPageMasterStyleAttrTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mpDrawPageAttrTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mpDrawPageElemTokenMap;
+    std::unique_ptr<SvXMLTokenMap>              mpPresentationPlaceholderAttrTokenMap;
 
     sal_Int32                   mnNewPageCount;
     sal_Int32                   mnNewMasterPageCount;
@@ -207,7 +208,6 @@ public:
         const css::uno::Reference< css::uno::XComponentContext >& xContext,
         OUString const & implementationName,
         bool bIsDraw, SvXMLImportFlags nImportFlags );
-    virtual ~SdXMLImport() throw ();
 
     // XImporter
     virtual void SAL_CALL setTargetDocument( const css::uno::Reference< css::lang::XComponent >& xDoc ) throw(css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override;
commit 5b010b43d7cadc11ebc6756a9b7689c660f3d387
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Sep 8 10:53:24 2016 +0200

    remove direct memory management
    
    Change-Id: I15823666ce8ea1840dc7b927d1a6f2f810edf2d2

diff --git a/xmloff/source/draw/sdxmlimp.cxx b/xmloff/source/draw/sdxmlimp.cxx
index a6c9f36..da92ee2 100644
--- a/xmloff/source/draw/sdxmlimp.cxx
+++ b/xmloff/source/draw/sdxmlimp.cxx
@@ -283,7 +283,6 @@ SdXMLImport::SdXMLImport(
     OUString const & implementationName,
     bool bIsDraw, SvXMLImportFlags nImportFlags )
 :   SvXMLImport( xContext, implementationName, nImportFlags ),
-    mpMasterStylesContext(nullptr),
     mpDocElemTokenMap(nullptr),
     mpBodyElemTokenMap(nullptr),
     mpStylesElemTokenMap(nullptr),
@@ -410,10 +409,6 @@ void SAL_CALL SdXMLImport::initialize( const uno::Sequence< uno::Any >& aArgumen
 
 SdXMLImport::~SdXMLImport() throw ()
 {
-    // Styles or AutoStyles context?
-    if(mpMasterStylesContext)
-        mpMasterStylesContext->ReleaseRef();
-
     // delete all token maps
     delete mpDocElemTokenMap;
     delete mpBodyElemTokenMap;
@@ -719,14 +714,9 @@ SvXMLStylesContext *SdXMLImport::CreateAutoStylesContext(const OUString& rLocalN
 SvXMLImportContext* SdXMLImport::CreateMasterStylesContext(const OUString& rLocalName,
     const uno::Reference<xml::sax::XAttributeList>&)
 {
-    if(mpMasterStylesContext)
-        return mpMasterStylesContext;
-
-    mpMasterStylesContext = new SdXMLMasterStylesContext(
-        *this, rLocalName);
-    mpMasterStylesContext->AddFirstRef();
-
-    return mpMasterStylesContext;
+    if (!mxMasterStylesContext.is())
+        mxMasterStylesContext.set(new SdXMLMasterStylesContext(*this, rLocalName));
+    return mxMasterStylesContext.get();
 }
 
 SvXMLImportContext *SdXMLImport::CreateFontDeclsContext(const OUString& rLocalName,

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list