diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-10-16 11:40:16 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-10-16 13:39:33 +0200 |
commit | 32eb4d56a4ea93e7dbfd947b62e18f05d8215421 (patch) | |
tree | 4594949fcc3cc52878f63f491b9d9bc402975a3b /sw | |
parent | 0c44f702a04db0fffd6884dcb014b28cdff5b21c (diff) |
use rtl::Reference for SvXMLGraphicHelper
Change-Id: I0052b29660fb6157f7e98c4e124f030ba439d304
Reviewed-on: https://gerrit.libreoffice.org/43417
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/filter/xml/swxml.cxx | 11 | ||||
-rw-r--r-- | sw/source/filter/xml/wrtxml.cxx | 11 | ||||
-rw-r--r-- | sw/source/filter/xml/xmlexp.cxx | 12 | ||||
-rw-r--r-- | sw/source/filter/xml/xmlimp.cxx | 11 | ||||
-rw-r--r-- | sw/source/filter/xml/xmlimp.hxx | 3 |
5 files changed, 25 insertions, 23 deletions
diff --git a/sw/source/filter/xml/swxml.cxx b/sw/source/filter/xml/swxml.cxx index 6ddeb64b8f3e..652e84ef5ab8 100644 --- a/sw/source/filter/xml/swxml.cxx +++ b/sw/source/filter/xml/swxml.cxx @@ -474,7 +474,7 @@ ErrCode XMLReader::Read( SwDoc &rDoc, const OUString& rBaseURL, SwPaM &rPaM, con comphelper::getProcessComponentContext(); uno::Reference< document::XGraphicObjectResolver > xGraphicResolver; - SvXMLGraphicHelper *pGraphicHelper = nullptr; + rtl::Reference<SvXMLGraphicHelper> xGraphicHelper; uno::Reference< document::XEmbeddedObjectResolver > xObjectResolver; rtl::Reference<SvXMLEmbeddedObjectHelper> xObjectHelper; @@ -488,10 +488,10 @@ ErrCode XMLReader::Read( SwDoc &rDoc, const OUString& rBaseURL, SwPaM &rPaM, con if( !xStorage.is() ) return ERR_SWG_READ_ERROR; - pGraphicHelper = SvXMLGraphicHelper::Create( xStorage, + xGraphicHelper = SvXMLGraphicHelper::Create( xStorage, SvXMLGraphicHelperMode::Read, false ); - xGraphicResolver = pGraphicHelper; + xGraphicResolver = xGraphicHelper.get(); SfxObjectShell *pPersist = rDoc.GetPersist(); if( pPersist ) { @@ -888,8 +888,9 @@ ErrCode XMLReader::Read( SwDoc &rDoc, const OUString& rBaseURL, SwPaM &rPaM, con lcl_EnsureValidPam( rPaM ); // move Pam into valid content - if( pGraphicHelper ) - SvXMLGraphicHelper::Destroy( pGraphicHelper ); + if( xGraphicHelper ) + xGraphicHelper->dispose(); + xGraphicHelper.clear(); xGraphicResolver = nullptr; if( xObjectHelper ) xObjectHelper->dispose(); diff --git a/sw/source/filter/xml/wrtxml.cxx b/sw/source/filter/xml/wrtxml.cxx index e7469aec35dc..b0afdaf0baa1 100644 --- a/sw/source/filter/xml/wrtxml.cxx +++ b/sw/source/filter/xml/wrtxml.cxx @@ -80,15 +80,15 @@ ErrCode SwXMLWriter::Write_( const uno::Reference < task::XStatusIndicator >& xS // Get data sink ... tools::SvRef<SotStorageStream> xDocStream; uno::Reference< document::XGraphicObjectResolver > xGraphicResolver; - SvXMLGraphicHelper *pGraphicHelper = nullptr; + rtl::Reference<SvXMLGraphicHelper> xGraphicHelper ; uno::Reference< document::XEmbeddedObjectResolver > xObjectResolver; rtl::Reference<SvXMLEmbeddedObjectHelper> xObjectHelper; OSL_ENSURE( xStg.is(), "Where is my storage?" ); - pGraphicHelper = SvXMLGraphicHelper::Create( xStg, + xGraphicHelper = SvXMLGraphicHelper::Create( xStg, SvXMLGraphicHelperMode::Write, false ); - xGraphicResolver = pGraphicHelper; + xGraphicResolver = xGraphicHelper.get(); SfxObjectShell *pPersist = pDoc->GetPersist(); if( pPersist ) @@ -388,8 +388,9 @@ ErrCode SwXMLWriter::Write_( const uno::Reference < task::XStatusIndicator >& xS } } - if( pGraphicHelper ) - SvXMLGraphicHelper::Destroy( pGraphicHelper ); + if( xGraphicHelper ) + xGraphicHelper->dispose(); + xGraphicHelper.clear(); xGraphicResolver = nullptr; if( xObjectHelper ) diff --git a/sw/source/filter/xml/xmlexp.cxx b/sw/source/filter/xml/xmlexp.cxx index 7838281e699c..ac6fbe5f5f6a 100644 --- a/sw/source/filter/xml/xmlexp.cxx +++ b/sw/source/filter/xml/xmlexp.cxx @@ -238,12 +238,11 @@ ErrCode SwXMLExport::exportDoc( enum XMLTokenEnum eClass ) // we don't need it here. // else: keep default pClass that we received - SvXMLGraphicHelper *pGraphicResolver = nullptr; + rtl::Reference<SvXMLGraphicHelper> xGraphicResolver; if( !GetGraphicResolver().is() ) { - pGraphicResolver = SvXMLGraphicHelper::Create( SvXMLGraphicHelperMode::Write ); - Reference< XGraphicObjectResolver > xGraphicResolver( pGraphicResolver ); - SetGraphicResolver( xGraphicResolver ); + xGraphicResolver = SvXMLGraphicHelper::Create( SvXMLGraphicHelperMode::Write ); + SetGraphicResolver( xGraphicResolver.get() ); } rtl::Reference<SvXMLEmbeddedObjectHelper> xEmbeddedResolver; @@ -293,8 +292,9 @@ ErrCode SwXMLExport::exportDoc( enum XMLTokenEnum eClass ) pDoc->getIDocumentRedlineAccess().SetRedlineFlags( nRedlineFlags ); } - if( pGraphicResolver ) - SvXMLGraphicHelper::Destroy( pGraphicResolver ); + if( xGraphicResolver ) + xGraphicResolver->dispose(); + xGraphicResolver.clear(); if( xEmbeddedResolver ) xEmbeddedResolver->dispose(); xEmbeddedResolver.clear(); diff --git a/sw/source/filter/xml/xmlimp.cxx b/sw/source/filter/xml/xmlimp.cxx index 03e0edaac60f..d266fac6c5d5 100644 --- a/sw/source/filter/xml/xmlimp.cxx +++ b/sw/source/filter/xml/xmlimp.cxx @@ -394,7 +394,6 @@ SwXMLImport::SwXMLImport( m_pDocElemTokenMap( nullptr ), m_pTableElemTokenMap( nullptr ), m_pTableCellAttrTokenMap( nullptr ), - m_pGraphicResolver( nullptr ), m_nStyleFamilyMask( SfxStyleFamily::All ), m_bLoadDoc( true ), m_bInsert( false ), @@ -662,9 +661,8 @@ void SwXMLImport::startDocument() if( !GetGraphicResolver().is() ) { - m_pGraphicResolver = SvXMLGraphicHelper::Create( SvXMLGraphicHelperMode::Read ); - Reference< document::XGraphicObjectResolver > xGraphicResolver( m_pGraphicResolver ); - SetGraphicResolver( xGraphicResolver ); + m_xGraphicResolver = SvXMLGraphicHelper::Create( SvXMLGraphicHelperMode::Read ); + SetGraphicResolver( m_xGraphicResolver.get() ); } if( !GetEmbeddedResolver().is() ) @@ -690,8 +688,9 @@ void SwXMLImport::endDocument() // this method will modify the document directly -> lock SolarMutex SolarMutexGuard aGuard; - if( m_pGraphicResolver ) - SvXMLGraphicHelper::Destroy( m_pGraphicResolver ); + if( m_xGraphicResolver ) + m_xGraphicResolver->dispose(); + m_xGraphicResolver.clear(); if( m_xEmbeddedResolver ) m_xEmbeddedResolver->dispose(); m_xEmbeddedResolver.clear(); diff --git a/sw/source/filter/xml/xmlimp.hxx b/sw/source/filter/xml/xmlimp.hxx index 1afa89ac1650..444186992c34 100644 --- a/sw/source/filter/xml/xmlimp.hxx +++ b/sw/source/filter/xml/xmlimp.hxx @@ -68,7 +68,8 @@ class SwXMLImport: public SvXMLImport SvXMLTokenMap *m_pDocElemTokenMap; SvXMLTokenMap *m_pTableElemTokenMap; SvXMLTokenMap *m_pTableCellAttrTokenMap; - SvXMLGraphicHelper *m_pGraphicResolver; + rtl::Reference<SvXMLGraphicHelper> + m_xGraphicResolver; rtl::Reference<SvXMLEmbeddedObjectHelper> m_xEmbeddedResolver; |