use rtl::Reference in bib::OComponentListener
rather than manual acquire/release
Change-Id: Ib4b52fb4a85223f974e9905bc3d02eb839150030
diff --git a/extensions/source/bibliography/loadlisteneradapter.cxx b/extensions/source/bibliography/loadlisteneradapter.cxx
index d25c7f0..7b6f35a 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 47458a67..d61756c 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 )
{
}