diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-01-14 09:41:29 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-01-14 09:45:31 +0100 |
commit | 8960dae3a24f5dd2712f1fe74de0c3b22552b12b (patch) | |
tree | 6b2d56915eddf3eb07d3a401be5365c90f946e1b | |
parent | b32e46fbc3b536c1f56fe5d3714772ad673542a3 (diff) |
no need to hold OInterfaceContainerHelper4 by unique_ptr
when empty, it is only a single pointer big anyway
Change-Id: I3e45dd705c4bef3799435617db1a4192d62860e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128403
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r-- | include/ucbhelper/resultsethelper.hxx | 2 | ||||
-rw-r--r-- | toolkit/source/hatchwindow/documentcloser.cxx | 13 | ||||
-rw-r--r-- | ucbhelper/source/provider/resultset.cxx | 16 | ||||
-rw-r--r-- | ucbhelper/source/provider/resultsethelper.cxx | 12 |
4 files changed, 14 insertions, 29 deletions
diff --git a/include/ucbhelper/resultsethelper.hxx b/include/ucbhelper/resultsethelper.hxx index e929531aa586..486d07fe5f89 100644 --- a/include/ucbhelper/resultsethelper.hxx +++ b/include/ucbhelper/resultsethelper.hxx @@ -55,7 +55,7 @@ class UCBHELPER_DLLPUBLIC ResultSetImplHelper : css::lang::XServiceInfo, css::ucb::XDynamicResultSet> { - std::unique_ptr<comphelper::OInterfaceContainerHelper4<css::lang::XEventListener>> m_pDisposeEventListeners; + comphelper::OInterfaceContainerHelper4<css::lang::XEventListener> m_aDisposeEventListeners; bool m_bStatic; bool m_bInitDone; diff --git a/toolkit/source/hatchwindow/documentcloser.cxx b/toolkit/source/hatchwindow/documentcloser.cxx index 10cb6b37ecd6..16df8536f5f1 100644 --- a/toolkit/source/hatchwindow/documentcloser.cxx +++ b/toolkit/source/hatchwindow/documentcloser.cxx @@ -46,7 +46,7 @@ class ODocumentCloser : public ::cppu::WeakImplHelper< css::lang::XComponent, { std::mutex m_aMutex; css::uno::Reference< css::frame::XFrame > m_xFrame; - std::unique_ptr<::comphelper::OInterfaceContainerHelper4<lang::XEventListener>> m_pListenersContainer; // list of listeners + ::comphelper::OInterfaceContainerHelper4<lang::XEventListener> m_aListenersContainer; // list of listeners bool m_bDisposed; @@ -170,8 +170,7 @@ void SAL_CALL ODocumentCloser::dispose() throw lang::DisposedException(); lang::EventObject aSource( static_cast< ::cppu::OWeakObject* >(this) ); - if ( m_pListenersContainer ) - m_pListenersContainer->disposeAndClear( aGuard, aSource ); + m_aListenersContainer.disposeAndClear( aGuard, aSource ); // TODO: trigger a main thread execution to close the frame if ( m_xFrame.is() ) @@ -191,18 +190,14 @@ void SAL_CALL ODocumentCloser::addEventListener( const uno::Reference< lang::XEv if ( m_bDisposed ) throw lang::DisposedException(); // TODO - if ( !m_pListenersContainer ) - m_pListenersContainer.reset( new ::comphelper::OInterfaceContainerHelper4<lang::XEventListener>() ); - - m_pListenersContainer->addInterface( xListener ); + m_aListenersContainer.addInterface( xListener ); } void SAL_CALL ODocumentCloser::removeEventListener( const uno::Reference< lang::XEventListener >& xListener ) { std::unique_lock aGuard( m_aMutex ); - if ( m_pListenersContainer ) - m_pListenersContainer->removeInterface( xListener ); + m_aListenersContainer.removeInterface( xListener ); } // XServiceInfo diff --git a/ucbhelper/source/provider/resultset.cxx b/ucbhelper/source/provider/resultset.cxx index 0bc1398b724c..162f32cffabf 100644 --- a/ucbhelper/source/provider/resultset.cxx +++ b/ucbhelper/source/provider/resultset.cxx @@ -147,7 +147,7 @@ struct ResultSet_Impl uno::Sequence< beans::Property > m_aProperties; rtl::Reference< ResultSetDataSupplier > m_xDataSupplier; std::mutex m_aMutex; - std::unique_ptr<comphelper::OInterfaceContainerHelper4<lang::XEventListener>> m_pDisposeEventListeners; + comphelper::OInterfaceContainerHelper4<lang::XEventListener> m_aDisposeEventListeners; std::unique_ptr<PropertyChangeListeners> m_pPropertyChangeListeners; sal_Int32 m_nPos; bool m_bWasNull; @@ -236,12 +236,11 @@ void SAL_CALL ResultSet::dispose() { std::unique_lock aGuard( m_pImpl->m_aMutex ); - if ( m_pImpl->m_pDisposeEventListeners && - m_pImpl->m_pDisposeEventListeners->getLength() ) + if ( m_pImpl->m_aDisposeEventListeners.getLength() ) { lang::EventObject aEvt; aEvt.Source = static_cast< lang::XComponent * >( this ); - m_pImpl->m_pDisposeEventListeners->disposeAndClear( aGuard, aEvt ); + m_pImpl->m_aDisposeEventListeners.disposeAndClear( aGuard, aEvt ); aGuard.lock(); } @@ -263,11 +262,7 @@ void SAL_CALL ResultSet::addEventListener( { std::unique_lock aGuard( m_pImpl->m_aMutex ); - if ( !m_pImpl->m_pDisposeEventListeners ) - m_pImpl->m_pDisposeEventListeners.reset( - new comphelper::OInterfaceContainerHelper4<lang::XEventListener>()); - - m_pImpl->m_pDisposeEventListeners->addInterface( Listener ); + m_pImpl->m_aDisposeEventListeners.addInterface( Listener ); } @@ -277,8 +272,7 @@ void SAL_CALL ResultSet::removeEventListener( { std::unique_lock aGuard( m_pImpl->m_aMutex ); - if ( m_pImpl->m_pDisposeEventListeners ) - m_pImpl->m_pDisposeEventListeners->removeInterface( Listener ); + m_pImpl->m_aDisposeEventListeners.removeInterface( Listener ); } diff --git a/ucbhelper/source/provider/resultsethelper.cxx b/ucbhelper/source/provider/resultsethelper.cxx index 77c901d62ee7..25ead4bd8a22 100644 --- a/ucbhelper/source/provider/resultsethelper.cxx +++ b/ucbhelper/source/provider/resultsethelper.cxx @@ -90,11 +90,11 @@ void SAL_CALL ResultSetImplHelper::dispose() { std::unique_lock aGuard( m_aMutex ); - if ( m_pDisposeEventListeners && m_pDisposeEventListeners->getLength() ) + if ( m_aDisposeEventListeners.getLength() ) { lang::EventObject aEvt; aEvt.Source = static_cast< lang::XComponent * >( this ); - m_pDisposeEventListeners->disposeAndClear( aGuard, aEvt ); + m_aDisposeEventListeners.disposeAndClear( aGuard, aEvt ); } } @@ -105,10 +105,7 @@ void SAL_CALL ResultSetImplHelper::addEventListener( { std::unique_lock aGuard( m_aMutex ); - if ( !m_pDisposeEventListeners ) - m_pDisposeEventListeners.reset(new comphelper::OInterfaceContainerHelper4<css::lang::XEventListener>()); - - m_pDisposeEventListeners->addInterface( Listener ); + m_aDisposeEventListeners.addInterface( Listener ); } @@ -118,8 +115,7 @@ void SAL_CALL ResultSetImplHelper::removeEventListener( { std::unique_lock aGuard( m_aMutex ); - if ( m_pDisposeEventListeners ) - m_pDisposeEventListeners->removeInterface( Listener ); + m_aDisposeEventListeners.removeInterface( Listener ); } |