diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-01-20 13:41:26 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-01-23 07:56:34 +0200 |
commit | 32f4f3b52ad491ab83a67dfe57ea4f27d66b39a7 (patch) | |
tree | 0a9e99f05c62afac5b828304f4f7d6e640ab5b58 | |
parent | 2bbf21aaded0c0623ee802e746dbf6b11d58d396 (diff) |
use rtl::Reference in bib::OComponentListener
rather than manual acquire/release
Change-Id: Ib4b52fb4a85223f974e9905bc3d02eb839150030
-rw-r--r-- | extensions/source/bibliography/loadlisteneradapter.cxx | 25 | ||||
-rw-r--r-- | extensions/source/bibliography/loadlisteneradapter.hxx | 8 |
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 ) { } |