summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2021-12-24 10:09:09 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-12-26 10:25:12 +0100
commit7313b9ecf2285768563d82c19715d34b7c66d5ef (patch)
treeeeb7b246aaef17dd89fdf17075badf2331fb1c53 /svx
parent56c233961f3121f45448fe06104c36fe3bf92f4c (diff)
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.grandin@collabora.co.uk>
Diffstat (limited to 'svx')
-rw-r--r--svx/source/xml/xmleohlp.cxx16
1 files changed, 8 insertions, 8 deletions
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;