summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-01-20 13:41:26 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-01-23 07:56:34 +0200
commit32f4f3b52ad491ab83a67dfe57ea4f27d66b39a7 (patch)
tree0a9e99f05c62afac5b828304f4f7d6e640ab5b58 /extensions
parent2bbf21aaded0c0623ee802e746dbf6b11d58d396 (diff)
use rtl::Reference in bib::OComponentListener
rather than manual acquire/release Change-Id: Ib4b52fb4a85223f974e9905bc3d02eb839150030
Diffstat (limited to 'extensions')
-rw-r--r--extensions/source/bibliography/loadlisteneradapter.cxx25
-rw-r--r--extensions/source/bibliography/loadlisteneradapter.hxx8
2 files changed, 9 insertions, 24 deletions
diff --git a/extensions/source/bibliography/loadlisteneradapter.cxx b/extensions/source/bibliography/loadlisteneradapter.cxx
index d25c7f030041..7b6f35ae02a2 100644
--- a/extensions/source/bibliography/loadlisteneradapter.cxx
+++ b/extensions/source/bibliography/loadlisteneradapter.cxx
@@ -32,31 +32,16 @@ namespace bib
OComponentListener::~OComponentListener()
{
- {
- ::osl::MutexGuard aGuard( m_rMutex );
- if ( m_pAdapter )
- m_pAdapter->dispose();
- }
+ ::osl::MutexGuard aGuard( m_rMutex );
+ if ( m_xAdapter.is() )
+ m_xAdapter->dispose();
}
void OComponentListener::setAdapter( OComponentAdapterBase* pAdapter )
{
- {
- ::osl::MutexGuard aGuard( m_rMutex );
- if ( m_pAdapter )
- {
- m_pAdapter->release();
- m_pAdapter = nullptr;
- }
- }
-
- if ( pAdapter )
- {
- ::osl::MutexGuard aGuard( m_rMutex );
- m_pAdapter = pAdapter;
- m_pAdapter->acquire();
- }
+ ::osl::MutexGuard aGuard( m_rMutex );
+ m_xAdapter = pAdapter;
}
OComponentAdapterBase::OComponentAdapterBase( const Reference< XComponent >& _rxComp )
diff --git a/extensions/source/bibliography/loadlisteneradapter.hxx b/extensions/source/bibliography/loadlisteneradapter.hxx
index 47458a678980..d61756c2356a 100644
--- a/extensions/source/bibliography/loadlisteneradapter.hxx
+++ b/extensions/source/bibliography/loadlisteneradapter.hxx
@@ -24,6 +24,7 @@
#include <com/sun/star/lang/XComponent.hpp>
#include <cppuhelper/implbase.hxx>
#include <com/sun/star/form/XLoadable.hpp>
+#include <rtl/ref.hxx>
namespace bib
@@ -37,12 +38,11 @@ namespace bib
friend class OComponentAdapterBase;
private:
- OComponentAdapterBase* m_pAdapter;
- ::osl::Mutex& m_rMutex;
+ rtl::Reference<OComponentAdapterBase> m_xAdapter;
+ ::osl::Mutex& m_rMutex;
protected:
explicit OComponentListener( ::osl::Mutex& _rMutex )
- :m_pAdapter( nullptr )
- ,m_rMutex( _rMutex )
+ :m_rMutex( _rMutex )
{
}