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 /sc | |
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 'sc')
-rw-r--r-- | sc/source/filter/xml/xmlwrap.cxx | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/sc/source/filter/xml/xmlwrap.cxx b/sc/source/filter/xml/xmlwrap.cxx index 2b4560480499..7e35690aed86 100644 --- a/sc/source/filter/xml/xmlwrap.cxx +++ b/sc/source/filter/xml/xmlwrap.cxx @@ -434,19 +434,19 @@ bool ScXMLImportWrapper::Import( ImportFlags nMode, ErrCode& rError ) SAL_INFO( "sc.filter", "meta import end" ); } - SvXMLGraphicHelper* pGraphicHelper = nullptr; + rtl::Reference<SvXMLGraphicHelper> xGraphicHelper; uno::Reference< document::XGraphicObjectResolver > xGrfContainer; uno::Reference< document::XEmbeddedObjectResolver > xObjectResolver; - SvXMLEmbeddedObjectHelper *pObjectHelper = nullptr; + rtl::Reference<SvXMLEmbeddedObjectHelper> xObjectHelper; if( xStorage.is() ) { - pGraphicHelper = SvXMLGraphicHelper::Create( xStorage, SvXMLGraphicHelperMode::Read ); - xGrfContainer = pGraphicHelper; + xGraphicHelper = SvXMLGraphicHelper::Create( xStorage, SvXMLGraphicHelperMode::Read ); + xGrfContainer = xGraphicHelper.get(); - pObjectHelper = SvXMLEmbeddedObjectHelper::Create(xStorage, mrDocShell, SvXMLEmbeddedObjectHelperMode::Read); - xObjectResolver = pObjectHelper; + xObjectHelper = SvXMLEmbeddedObjectHelper::Create(xStorage, mrDocShell, SvXMLEmbeddedObjectHelperMode::Read); + xObjectResolver = xObjectHelper.get(); } uno::Sequence<uno::Any> aStylesArgs(4); uno::Any* pStylesArgs = aStylesArgs.getArray(); @@ -515,11 +515,13 @@ bool ScXMLImportWrapper::Import( ImportFlags nMode, ErrCode& rError ) SAL_INFO( "sc.filter", "content import end" ); } - if( pGraphicHelper ) - SvXMLGraphicHelper::Destroy( pGraphicHelper ); + if( xGraphicHelper.is() ) + xGraphicHelper->dispose(); + xGraphicHelper.clear(); - if( pObjectHelper ) - SvXMLEmbeddedObjectHelper::Destroy( pObjectHelper ); + if( xObjectHelper.is() ) + xObjectHelper->dispose(); + xObjectHelper.clear(); if (xStatusIndicator.is()) xStatusIndicator->end(); @@ -862,7 +864,7 @@ bool ScXMLImportWrapper::Export(bool bStylesOnly) } uno::Reference< document::XEmbeddedObjectResolver > xObjectResolver; - SvXMLEmbeddedObjectHelper *pObjectHelper = nullptr; + rtl::Reference<SvXMLEmbeddedObjectHelper> xObjectHelper; uno::Reference< document::XGraphicObjectResolver > xGrfContainer; SvXMLGraphicHelper* pGraphicHelper = nullptr; @@ -875,8 +877,8 @@ bool ScXMLImportWrapper::Export(bool bStylesOnly) if( pObjSh ) { - pObjectHelper = SvXMLEmbeddedObjectHelper::Create( xStorage, *pObjSh, SvXMLEmbeddedObjectHelperMode::Write ); - xObjectResolver = pObjectHelper; + xObjectHelper = SvXMLEmbeddedObjectHelper::Create( xStorage, *pObjSh, SvXMLEmbeddedObjectHelperMode::Write ); + xObjectResolver = xObjectHelper.get(); } // styles export @@ -929,8 +931,9 @@ bool ScXMLImportWrapper::Export(bool bStylesOnly) if( pGraphicHelper ) SvXMLGraphicHelper::Destroy( pGraphicHelper ); - if( pObjectHelper ) - SvXMLEmbeddedObjectHelper::Destroy( pObjectHelper ); + if( xObjectHelper ) + xObjectHelper->dispose(); + xObjectHelper.clear(); // settings export |