summaryrefslogtreecommitdiff
path: root/embeddedobj
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2019-04-07 11:48:47 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2019-04-07 17:53:04 +0200
commit5a824268dfdd48c00f656b767b48cd12ccbdaabb (patch)
treea25f4afd3ca49cff41fc44559aedea70c82e6c7e /embeddedobj
parenta6186a678cd9f67359da885606b3c3983f6bdc74 (diff)
Don't use resettable/clearable guard where plain guard is enough
Also use scope where possible. This allows to limit guard scope at language level; visualises the scope clearly; and helps avoiding errors like fixed in commit 61e4437c857854b331fa01da6f39b2b3b58a800b. Change-Id: Ifeca96e2df8e8a0897770d9546b2536806275f41 Reviewed-on: https://gerrit.libreoffice.org/70376 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'embeddedobj')
-rw-r--r--embeddedobj/source/commonembedding/embedobj.cxx2
-rw-r--r--embeddedobj/source/msole/olecomponent.cxx72
-rw-r--r--embeddedobj/source/msole/olepersist.cxx6
3 files changed, 41 insertions, 39 deletions
diff --git a/embeddedobj/source/commonembedding/embedobj.cxx b/embeddedobj/source/commonembedding/embedobj.cxx
index a3319d7d828f..98f6a3d11d2b 100644
--- a/embeddedobj/source/commonembedding/embedobj.cxx
+++ b/embeddedobj/source/commonembedding/embedobj.cxx
@@ -510,7 +510,7 @@ void SAL_CALL OCommonEmbeddedObject::doVerb( sal_Int32 nVerbID )
// to get locking done right in this class, but that looks like a
// daunting task
- ::osl::ResettableMutexGuard aGuard( m_aMutex );
+ osl::ClearableMutexGuard aGuard( m_aMutex );
if ( m_bDisposed )
throw lang::DisposedException(); // TODO
diff --git a/embeddedobj/source/msole/olecomponent.cxx b/embeddedobj/source/msole/olecomponent.cxx
index 2fa50bd452e0..06f24c9b080c 100644
--- a/embeddedobj/source/msole/olecomponent.cxx
+++ b/embeddedobj/source/msole/olecomponent.cxx
@@ -460,9 +460,7 @@ OleComponent::~OleComponent()
if ( m_pOleWrapClientSite || m_pImplAdviseSink || m_pInterfaceContainer || m_bOleInitialized )
{
- ::osl::ClearableMutexGuard aGuard( m_aMutex );
- m_refCount++;
- aGuard.clear();
+ osl_atomic_increment(&m_refCount);
try {
Dispose();
} catch( const uno::Exception& ) {}
@@ -1418,52 +1416,56 @@ void OleComponent::OnClose_Impl()
void SAL_CALL OleComponent::close( sal_Bool bDeliverOwnership )
{
- ::osl::ClearableMutexGuard aGuard( m_aMutex );
- if ( m_bDisposed )
- throw lang::DisposedException(); // TODO
+ uno::Reference< uno::XInterface > xSelfHold;
+ {
+ osl::MutexGuard aGuard(m_aMutex);
+ if (m_bDisposed)
+ throw lang::DisposedException(); // TODO
- uno::Reference< uno::XInterface > xSelfHold( static_cast< ::cppu::OWeakObject* >( this ) );
- lang::EventObject aSource( static_cast< ::cppu::OWeakObject* >( this ) );
+ xSelfHold.set(static_cast<::cppu::OWeakObject*>(this));
+ lang::EventObject aSource(static_cast<::cppu::OWeakObject*>(this));
- if ( m_pInterfaceContainer )
- {
- ::cppu::OInterfaceContainerHelper* pContainer =
- m_pInterfaceContainer->getContainer( cppu::UnoType<util::XCloseListener>::get());
- if ( pContainer != nullptr )
+ if (m_pInterfaceContainer)
{
- ::cppu::OInterfaceIteratorHelper pIterator( *pContainer );
- while ( pIterator.hasMoreElements() )
+ ::cppu::OInterfaceContainerHelper* pContainer
+ = m_pInterfaceContainer->getContainer(cppu::UnoType<util::XCloseListener>::get());
+ if (pContainer != nullptr)
{
- try
+ ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ while (pIterator.hasMoreElements())
{
- static_cast<util::XCloseListener*>( pIterator.next() )->queryClosing( aSource, bDeliverOwnership );
- }
- catch( const uno::RuntimeException& )
- {
- pIterator.remove();
+ try
+ {
+ static_cast<util::XCloseListener*>(pIterator.next())
+ ->queryClosing(aSource, bDeliverOwnership);
+ }
+ catch (const uno::RuntimeException&)
+ {
+ pIterator.remove();
+ }
}
}
- }
- pContainer = m_pInterfaceContainer->getContainer(
- cppu::UnoType<util::XCloseListener>::get());
- if ( pContainer != nullptr )
- {
- ::cppu::OInterfaceIteratorHelper pCloseIterator( *pContainer );
- while ( pCloseIterator.hasMoreElements() )
+ pContainer
+ = m_pInterfaceContainer->getContainer(cppu::UnoType<util::XCloseListener>::get());
+ if (pContainer != nullptr)
{
- try
+ ::cppu::OInterfaceIteratorHelper pCloseIterator(*pContainer);
+ while (pCloseIterator.hasMoreElements())
{
- static_cast<util::XCloseListener*>( pCloseIterator.next() )->notifyClosing( aSource );
- }
- catch( const uno::RuntimeException& )
- {
- pCloseIterator.remove();
+ try
+ {
+ static_cast<util::XCloseListener*>(pCloseIterator.next())
+ ->notifyClosing(aSource);
+ }
+ catch (const uno::RuntimeException&)
+ {
+ pCloseIterator.remove();
+ }
}
}
}
}
- aGuard.clear();
Dispose();
}
diff --git a/embeddedobj/source/msole/olepersist.cxx b/embeddedobj/source/msole/olepersist.cxx
index fddb668568b4..763ced642655 100644
--- a/embeddedobj/source/msole/olepersist.cxx
+++ b/embeddedobj/source/msole/olepersist.cxx
@@ -795,7 +795,7 @@ bool OleEmbeddedObject::SaveObject_Impl()
bool OleEmbeddedObject::OnShowWindow_Impl( bool bShow )
{
- ::osl::ResettableMutexGuard aGuard( m_aMutex );
+ osl::ClearableMutexGuard aGuard(m_aMutex);
bool bResult = false;
@@ -1507,7 +1507,7 @@ void SAL_CALL OleEmbeddedObject::saveCompleted( sal_Bool bUseNew )
}
// end wrapping related part ====================
- ::osl::ResettableMutexGuard aGuard( m_aMutex );
+ osl::ClearableMutexGuard aGuard(m_aMutex);
if ( m_bDisposed )
throw lang::DisposedException(); // TODO
@@ -1665,7 +1665,7 @@ void SAL_CALL OleEmbeddedObject::storeOwn()
// ask container to store the object, the container has to make decision
// to do so or not
- ::osl::ResettableMutexGuard aGuard( m_aMutex );
+ osl::ClearableMutexGuard aGuard(m_aMutex);
if ( m_bDisposed )
throw lang::DisposedException(); // TODO