include/svx/xmleohlp.hxx | 8 +++----- svx/source/xml/xmleohlp.cxx | 16 ++++++++-------- sw/source/filter/xml/wrtxml.cxx | 1 + sw/source/filter/xml/xmlexp.cxx | 1 + 4 files changed, 13 insertions(+), 13 deletions(-)
New commits: commit 7313b9ecf2285768563d82c19715d34b7c66d5ef Author: Noel Grandin <noelgran...@gmail.com> AuthorDate: Fri Dec 24 10:09:09 2021 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sun Dec 26 10:25:12 2021 +0100 use comphelper::WeakComponentImplHelper in SvXMLEmbeddedObjectHelper Change-Id: Id574f7a1ff54fae4a76bcafb011b9a80b5f35232 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127407 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/include/svx/xmleohlp.hxx b/include/svx/xmleohlp.hxx index aa3c6764ebde..55682f16c51a 100644 --- a/include/svx/xmleohlp.hxx +++ b/include/svx/xmleohlp.hxx @@ -20,8 +20,7 @@ #ifndef INCLUDED_SVX_XMLEOHLP_HXX #define INCLUDED_SVX_XMLEOHLP_HXX -#include <cppuhelper/basemutex.hxx> -#include <cppuhelper/compbase.hxx> +#include <comphelper/compbase.hxx> #include <com/sun/star/document/XEmbeddedObjectResolver.hpp> #include <com/sun/star/container/XNameAccess.hpp> #include <com/sun/star/embed/XEmbeddedObject.hpp> @@ -44,8 +43,7 @@ class OutputStorageWrapper_Impl; class SVXCORE_DLLPUBLIC SvXMLEmbeddedObjectHelper final : - public cppu::BaseMutex, - public cppu::WeakComponentImplHelper< css::document::XEmbeddedObjectResolver, css::container::XNameAccess > + public comphelper::WeakComponentImplHelper< css::document::XEmbeddedObjectResolver, css::container::XNameAccess > { OUString maCurContainerStorageName; @@ -88,7 +86,7 @@ class SVXCORE_DLLPUBLIC SvXMLEmbeddedObjectHelper final : ::comphelper::IEmbeddedHelper& rDocPersist, SvXMLEmbeddedObjectHelperMode eCreateMode ); - virtual void SAL_CALL disposing() override; + virtual void disposing(std::unique_lock<std::mutex>&) override; public: SvXMLEmbeddedObjectHelper( diff --git a/svx/source/xml/xmleohlp.cxx b/svx/source/xml/xmleohlp.cxx index 0f33e96c03a1..fdb43fdd6fd2 100644 --- a/svx/source/xml/xmleohlp.cxx +++ b/svx/source/xml/xmleohlp.cxx @@ -27,6 +27,7 @@ #include <com/sun/star/embed/EmbedStates.hpp> #include <com/sun/star/embed/Aspects.hpp> #include <com/sun/star/lang/WrappedTargetRuntimeException.hpp> +#include <osl/diagnose.h> #include <sot/storage.hxx> #include <tools/debug.hxx> #include <sal/log.hxx> @@ -120,14 +121,12 @@ void SAL_CALL OutputStorageWrapper_Impl::closeOutput() } SvXMLEmbeddedObjectHelper::SvXMLEmbeddedObjectHelper() : - WeakComponentImplHelper< XEmbeddedObjectResolver, XNameAccess >( m_aMutex ), mpDocPersist( nullptr ), meCreateMode( SvXMLEmbeddedObjectHelperMode::Read ) { } SvXMLEmbeddedObjectHelper::SvXMLEmbeddedObjectHelper( ::comphelper::IEmbeddedHelper& rDocPersist, SvXMLEmbeddedObjectHelperMode eCreateMode ) : - WeakComponentImplHelper< XEmbeddedObjectResolver, XNameAccess >( m_aMutex ), mpDocPersist( nullptr ), meCreateMode( SvXMLEmbeddedObjectHelperMode::Read ) { @@ -138,11 +137,12 @@ SvXMLEmbeddedObjectHelper::~SvXMLEmbeddedObjectHelper() { } -void SAL_CALL SvXMLEmbeddedObjectHelper::disposing() +void SvXMLEmbeddedObjectHelper::disposing(std::unique_lock<std::mutex>&) { if( mxTempStorage.is() ) { mxTempStorage->dispose(); + mxTempStorage.clear(); } } @@ -546,7 +546,7 @@ rtl::Reference<SvXMLEmbeddedObjectHelper> SvXMLEmbeddedObjectHelper::Create( OUString SAL_CALL SvXMLEmbeddedObjectHelper::resolveEmbeddedObjectURL(const OUString& rURL) { - MutexGuard aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); OUString sRet; try @@ -571,7 +571,7 @@ OUString SAL_CALL SvXMLEmbeddedObjectHelper::resolveEmbeddedObjectURL(const OUSt Any SAL_CALL SvXMLEmbeddedObjectHelper::getByName( const OUString& rURLStr ) { - MutexGuard aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); Any aRet; if( SvXMLEmbeddedObjectHelperMode::Read == meCreateMode ) { @@ -672,7 +672,7 @@ Sequence< OUString > SAL_CALL SvXMLEmbeddedObjectHelper::getElementNames() sal_Bool SAL_CALL SvXMLEmbeddedObjectHelper::hasByName( const OUString& rURLStr ) { - MutexGuard aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if( SvXMLEmbeddedObjectHelperMode::Read == meCreateMode ) { return true; @@ -694,7 +694,7 @@ sal_Bool SAL_CALL SvXMLEmbeddedObjectHelper::hasByName( const OUString& rURLStr // XNameAccess Type SAL_CALL SvXMLEmbeddedObjectHelper::getElementType() { - MutexGuard aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if( SvXMLEmbeddedObjectHelperMode::Read == meCreateMode ) return cppu::UnoType<XOutputStream>::get(); else @@ -703,7 +703,7 @@ Type SAL_CALL SvXMLEmbeddedObjectHelper::getElementType() sal_Bool SAL_CALL SvXMLEmbeddedObjectHelper::hasElements() { - MutexGuard aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if( SvXMLEmbeddedObjectHelperMode::Read == meCreateMode ) { return true; diff --git a/sw/source/filter/xml/wrtxml.cxx b/sw/source/filter/xml/wrtxml.cxx index a1f9625c6936..bd7c74c98282 100644 --- a/sw/source/filter/xml/wrtxml.cxx +++ b/sw/source/filter/xml/wrtxml.cxx @@ -35,6 +35,7 @@ #include <comphelper/genericpropertyset.hxx> #include <comphelper/propertysetinfo.hxx> #include <vcl/errinf.hxx> +#include <osl/diagnose.h> #include <sal/log.hxx> #include <o3tl/any.hxx> #include <svx/xmlgrhlp.hxx> diff --git a/sw/source/filter/xml/xmlexp.cxx b/sw/source/filter/xml/xmlexp.cxx index 061931876760..fd2003966e85 100644 --- a/sw/source/filter/xml/xmlexp.cxx +++ b/sw/source/filter/xml/xmlexp.cxx @@ -25,6 +25,7 @@ #include <com/sun/star/xforms/XFormsSupplier.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <osl/diagnose.h> #include <o3tl/any.hxx> #include <sax/tools/converter.hxx> #include <svx/svdpage.hxx>