diff options
Diffstat (limited to 'package')
-rw-r--r-- | package/inc/zipfileaccess.hxx | 2 | ||||
-rw-r--r-- | package/source/zippackage/zipfileaccess.cxx | 5 |
2 files changed, 3 insertions, 4 deletions
diff --git a/package/inc/zipfileaccess.hxx b/package/inc/zipfileaccess.hxx index 380e3428dd8b..901ae060e436 100644 --- a/package/inc/zipfileaccess.hxx +++ b/package/inc/zipfileaccess.hxx @@ -47,7 +47,7 @@ class OZipFileAccess : public ::cppu::WeakImplHelper< css::uno::Reference< css::uno::XComponentContext > m_xContext; css::uno::Reference< css::io::XInputStream > m_xContentStream; std::unique_ptr<ZipFile> m_pZipFile; - ::comphelper::OInterfaceContainerHelper2* m_pListenersContainer; + std::unique_ptr<::comphelper::OInterfaceContainerHelper2> m_pListenersContainer; bool m_bDisposed; bool m_bOwnContent; diff --git a/package/source/zippackage/zipfileaccess.cxx b/package/source/zippackage/zipfileaccess.cxx index 9bef00cafca6..eb5ad53f1ce7 100644 --- a/package/source/zippackage/zipfileaccess.cxx +++ b/package/source/zippackage/zipfileaccess.cxx @@ -413,8 +413,7 @@ void SAL_CALL OZipFileAccess::dispose() { lang::EventObject aSource( static_cast< ::cppu::OWeakObject* >(this) ); m_pListenersContainer->disposeAndClear( aSource ); - delete m_pListenersContainer; - m_pListenersContainer = nullptr; + m_pListenersContainer.reset(); } m_pZipFile.reset(); @@ -436,7 +435,7 @@ void SAL_CALL OZipFileAccess::addEventListener( const uno::Reference< lang::XEve throw lang::DisposedException(THROW_WHERE ); if ( !m_pListenersContainer ) - m_pListenersContainer = new ::comphelper::OInterfaceContainerHelper2( m_aMutexHolder->GetMutex() ); + m_pListenersContainer.reset( new ::comphelper::OInterfaceContainerHelper2( m_aMutexHolder->GetMutex() ) ); m_pListenersContainer->addInterface( xListener ); } |