summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-10-06 14:10:00 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-10-06 16:12:44 +0200
commit3035a8066ffc7120bb6a6da2c50d5b032611bb90 (patch)
tree8fa1c1b77d35f07a63f26ee7e9d4ae952378d6ac /sc
parent0d24dd25e6f506b5f9128d70d7eb21f0bb4dde89 (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.cxx33
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