diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-10-06 14:10:00 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-10-06 16:12:44 +0200 |
commit | 3035a8066ffc7120bb6a6da2c50d5b032611bb90 (patch) | |
tree | 8fa1c1b77d35f07a63f26ee7e9d4ae952378d6ac /sw/source/filter/xml/wrtxml.cxx | |
parent | 0d24dd25e6f506b5f9128d70d7eb21f0bb4dde89 (diff) |
use rtl::Reference in SvXMLEmbeddedObjectHelper
instead of manual ref-counting
Change-Id: I559ebb3871dd3dd4a160bd83a259e36dd2f7b4d6
Reviewed-on: https://gerrit.libreoffice.org/43200
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw/source/filter/xml/wrtxml.cxx')
-rw-r--r-- | sw/source/filter/xml/wrtxml.cxx | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sw/source/filter/xml/wrtxml.cxx b/sw/source/filter/xml/wrtxml.cxx index 00562c6f7a25..e7469aec35dc 100644 --- a/sw/source/filter/xml/wrtxml.cxx +++ b/sw/source/filter/xml/wrtxml.cxx @@ -82,7 +82,7 @@ ErrCode SwXMLWriter::Write_( const uno::Reference < task::XStatusIndicator >& xS uno::Reference< document::XGraphicObjectResolver > xGraphicResolver; SvXMLGraphicHelper *pGraphicHelper = nullptr; uno::Reference< document::XEmbeddedObjectResolver > xObjectResolver; - SvXMLEmbeddedObjectHelper *pObjectHelper = nullptr; + rtl::Reference<SvXMLEmbeddedObjectHelper> xObjectHelper; OSL_ENSURE( xStg.is(), "Where is my storage?" ); pGraphicHelper = SvXMLGraphicHelper::Create( xStg, @@ -93,10 +93,10 @@ ErrCode SwXMLWriter::Write_( const uno::Reference < task::XStatusIndicator >& xS SfxObjectShell *pPersist = pDoc->GetPersist(); if( pPersist ) { - pObjectHelper = SvXMLEmbeddedObjectHelper::Create( + xObjectHelper = SvXMLEmbeddedObjectHelper::Create( xStg, *pPersist, SvXMLEmbeddedObjectHelperMode::Write ); - xObjectResolver = pObjectHelper; + xObjectResolver = xObjectHelper.get(); } // create and prepare the XPropertySet that gets passed through @@ -392,8 +392,9 @@ ErrCode SwXMLWriter::Write_( const uno::Reference < task::XStatusIndicator >& xS SvXMLGraphicHelper::Destroy( pGraphicHelper ); xGraphicResolver = nullptr; - if( pObjectHelper ) - SvXMLEmbeddedObjectHelper::Destroy( pObjectHelper ); + if( xObjectHelper ) + xObjectHelper->dispose(); + xObjectHelper.clear(); xObjectResolver = nullptr; // restore redline mode |