Kaydet (Commit) 1168956b authored tarafından Noel Grandin's avatar Noel Grandin

loplugin:useuniqueptr in BaseContent

Change-Id: I03a6942e883b75e86f4ee4e7d01198dada70238f
Reviewed-on: https://gerrit.libreoffice.org/48707Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 53d6326b
...@@ -128,11 +128,6 @@ BaseContent::~BaseContent( ) ...@@ -128,11 +128,6 @@ BaseContent::~BaseContent( )
m_pMyShell->deregisterNotifier( m_aUncPath,this ); m_pMyShell->deregisterNotifier( m_aUncPath,this );
} }
m_pMyShell->m_pProvider->release(); m_pMyShell->m_pProvider->release();
delete m_pDisposeEventListeners;
delete m_pContentEventListeners;
delete m_pPropertyListener;
delete m_pPropertySetInfoChangeListeners;
} }
...@@ -182,8 +177,8 @@ BaseContent::addEventListener( const Reference< lang::XEventListener >& Listener ...@@ -182,8 +177,8 @@ BaseContent::addEventListener( const Reference< lang::XEventListener >& Listener
osl::MutexGuard aGuard( m_aMutex ); osl::MutexGuard aGuard( m_aMutex );
if ( ! m_pDisposeEventListeners ) if ( ! m_pDisposeEventListeners )
m_pDisposeEventListeners = m_pDisposeEventListeners.reset(
new comphelper::OInterfaceContainerHelper2( m_aEventListenerMutex ); new comphelper::OInterfaceContainerHelper2( m_aEventListenerMutex ) );
m_pDisposeEventListeners->addInterface( Listener ); m_pDisposeEventListeners->addInterface( Listener );
} }
...@@ -203,27 +198,19 @@ void SAL_CALL ...@@ -203,27 +198,19 @@ void SAL_CALL
BaseContent::dispose() BaseContent::dispose()
{ {
lang::EventObject aEvt; lang::EventObject aEvt;
comphelper::OInterfaceContainerHelper2* pDisposeEventListeners; std::unique_ptr<comphelper::OInterfaceContainerHelper2> pDisposeEventListeners;
comphelper::OInterfaceContainerHelper2* pContentEventListeners; std::unique_ptr<comphelper::OInterfaceContainerHelper2> pContentEventListeners;
comphelper::OInterfaceContainerHelper2* pPropertySetInfoChangeListeners; std::unique_ptr<comphelper::OInterfaceContainerHelper2> pPropertySetInfoChangeListeners;
PropertyListeners* pPropertyListener; std::unique_ptr<PropertyListeners> pPropertyListener;
{ {
osl::MutexGuard aGuard( m_aMutex ); osl::MutexGuard aGuard( m_aMutex );
aEvt.Source = static_cast< XContent* >( this ); aEvt.Source = static_cast< XContent* >( this );
pDisposeEventListeners = std::move(m_pDisposeEventListeners);
pDisposeEventListeners = m_pDisposeEventListeners; pContentEventListeners = std::move(m_pContentEventListeners);
m_pDisposeEventListeners = nullptr; pPropertySetInfoChangeListeners = std::move(m_pPropertySetInfoChangeListeners);
pPropertyListener = std::move(m_pPropertyListener);
pContentEventListeners = m_pContentEventListeners;
m_pContentEventListeners = nullptr;
pPropertySetInfoChangeListeners = m_pPropertySetInfoChangeListeners;
m_pPropertySetInfoChangeListeners = nullptr;
pPropertyListener = m_pPropertyListener;
m_pPropertyListener = nullptr;
} }
if ( pDisposeEventListeners && pDisposeEventListeners->getLength() ) if ( pDisposeEventListeners && pDisposeEventListeners->getLength() )
...@@ -237,11 +224,6 @@ BaseContent::dispose() ...@@ -237,11 +224,6 @@ BaseContent::dispose()
if( pPropertySetInfoChangeListeners ) if( pPropertySetInfoChangeListeners )
pPropertySetInfoChangeListeners->disposeAndClear( aEvt ); pPropertySetInfoChangeListeners->disposeAndClear( aEvt );
delete pDisposeEventListeners;
delete pContentEventListeners;
delete pPropertyListener;
delete pPropertySetInfoChangeListeners;
} }
// XServiceInfo // XServiceInfo
...@@ -422,7 +404,7 @@ BaseContent::addPropertiesChangeListener( ...@@ -422,7 +404,7 @@ BaseContent::addPropertiesChangeListener(
osl::MutexGuard aGuard( m_aMutex ); osl::MutexGuard aGuard( m_aMutex );
if( ! m_pPropertyListener ) if( ! m_pPropertyListener )
m_pPropertyListener = new PropertyListeners( m_aEventListenerMutex ); m_pPropertyListener.reset( new PropertyListeners( m_aEventListenerMutex ) );
if( PropertyNames.getLength() == 0 ) if( PropertyNames.getLength() == 0 )
...@@ -521,8 +503,8 @@ BaseContent::addContentEventListener( ...@@ -521,8 +503,8 @@ BaseContent::addContentEventListener(
osl::MutexGuard aGuard( m_aMutex ); osl::MutexGuard aGuard( m_aMutex );
if ( ! m_pContentEventListeners ) if ( ! m_pContentEventListeners )
m_pContentEventListeners = m_pContentEventListeners.reset(
new comphelper::OInterfaceContainerHelper2( m_aEventListenerMutex ); new comphelper::OInterfaceContainerHelper2( m_aEventListenerMutex ) );
m_pContentEventListeners->addInterface( Listener ); m_pContentEventListeners->addInterface( Listener );
...@@ -646,7 +628,7 @@ BaseContent::addPropertySetInfoChangeListener( ...@@ -646,7 +628,7 @@ BaseContent::addPropertySetInfoChangeListener(
{ {
osl::MutexGuard aGuard( m_aMutex ); osl::MutexGuard aGuard( m_aMutex );
if( ! m_pPropertySetInfoChangeListeners ) if( ! m_pPropertySetInfoChangeListeners )
m_pPropertySetInfoChangeListeners = new comphelper::OInterfaceContainerHelper2( m_aEventListenerMutex ); m_pPropertySetInfoChangeListeners.reset( new comphelper::OInterfaceContainerHelper2( m_aEventListenerMutex ) );
m_pPropertySetInfoChangeListeners->addInterface( Listener ); m_pPropertySetInfoChangeListeners->addInterface( Listener );
} }
......
...@@ -232,10 +232,10 @@ namespace fileaccess { ...@@ -232,10 +232,10 @@ namespace fileaccess {
osl::Mutex m_aMutex; osl::Mutex m_aMutex;
osl::Mutex m_aEventListenerMutex; osl::Mutex m_aEventListenerMutex;
comphelper::OInterfaceContainerHelper2* m_pDisposeEventListeners; std::unique_ptr<comphelper::OInterfaceContainerHelper2> m_pDisposeEventListeners;
comphelper::OInterfaceContainerHelper2* m_pContentEventListeners; std::unique_ptr<comphelper::OInterfaceContainerHelper2> m_pContentEventListeners;
comphelper::OInterfaceContainerHelper2* m_pPropertySetInfoChangeListeners; std::unique_ptr<comphelper::OInterfaceContainerHelper2> m_pPropertySetInfoChangeListeners;
PropertyListeners* m_pPropertyListener; std::unique_ptr<PropertyListeners> m_pPropertyListener;
// Private Methods // Private Methods
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment