Kaydet (Commit) 4fda02a8 authored tarafından Noel Grandin's avatar Noel Grandin

return unique_ptr from CreateNewStorageImpl

Change-Id: I32fa9b9bf4067792a3ad968ba5f2ef9b311ef48a
Reviewed-on: https://gerrit.libreoffice.org/69858
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 03a1ac65
...@@ -1365,7 +1365,7 @@ void OStorage_Impl::InsertRawStream( const OUString& aName, const uno::Reference ...@@ -1365,7 +1365,7 @@ void OStorage_Impl::InsertRawStream( const OUString& aName, const uno::Reference
m_bBroadcastModified = true; m_bBroadcastModified = true;
} }
OStorage_Impl* OStorage_Impl::CreateNewStorageImpl( sal_Int32 nStorageMode ) std::unique_ptr<OStorage_Impl> OStorage_Impl::CreateNewStorageImpl( sal_Int32 nStorageMode )
{ {
SAL_WARN_IF( !m_xPackage.is(), "package.xstor", "Not possible to refer to package as to factory!" ); SAL_WARN_IF( !m_xPackage.is(), "package.xstor", "Not possible to refer to package as to factory!" );
if ( !m_xPackage.is() ) if ( !m_xPackage.is() )
...@@ -1381,8 +1381,8 @@ OStorage_Impl* OStorage_Impl::CreateNewStorageImpl( sal_Int32 nStorageMode ) ...@@ -1381,8 +1381,8 @@ OStorage_Impl* OStorage_Impl::CreateNewStorageImpl( sal_Int32 nStorageMode )
throw io::IOException( THROW_WHERE ); throw io::IOException( THROW_WHERE );
uno::Reference< container::XNameContainer > xPackageSubFolder( xNewElement, uno::UNO_QUERY_THROW ); uno::Reference< container::XNameContainer > xPackageSubFolder( xNewElement, uno::UNO_QUERY_THROW );
OStorage_Impl* pResult = std::unique_ptr<OStorage_Impl> pResult(
new OStorage_Impl( this, nStorageMode, xPackageSubFolder, m_xPackage, m_xContext, m_nStorageType ); new OStorage_Impl( this, nStorageMode, xPackageSubFolder, m_xPackage, m_xContext, m_nStorageType ));
pResult->m_bIsModified = true; pResult->m_bIsModified = true;
return pResult; return pResult;
...@@ -1392,7 +1392,7 @@ SotElement_Impl* OStorage_Impl::InsertStorage( const OUString& aName, sal_Int32 ...@@ -1392,7 +1392,7 @@ SotElement_Impl* OStorage_Impl::InsertStorage( const OUString& aName, sal_Int32
{ {
SotElement_Impl* pNewElement = InsertElement( aName, true ); SotElement_Impl* pNewElement = InsertElement( aName, true );
pNewElement->m_xStorage.reset(CreateNewStorageImpl(nStorageMode)); pNewElement->m_xStorage = CreateNewStorageImpl(nStorageMode);
m_aChildrenVector.push_back( pNewElement ); m_aChildrenVector.push_back( pNewElement );
...@@ -1593,7 +1593,7 @@ void OStorage_Impl::CreateRelStorage() ...@@ -1593,7 +1593,7 @@ void OStorage_Impl::CreateRelStorage()
if ( !m_pRelStorElement ) if ( !m_pRelStorElement )
{ {
m_pRelStorElement = new SotElement_Impl( "_rels", true, true ); m_pRelStorElement = new SotElement_Impl( "_rels", true, true );
m_pRelStorElement->m_xStorage.reset(CreateNewStorageImpl(embed::ElementModes::WRITE)); m_pRelStorElement->m_xStorage = CreateNewStorageImpl(embed::ElementModes::WRITE);
if (m_pRelStorElement->m_xStorage) if (m_pRelStorElement->m_xStorage)
m_pRelStorElement->m_xStorage->m_pParent = nullptr; // the relation storage is completely controlled by parent m_pRelStorElement->m_xStorage->m_pParent = nullptr; // the relation storage is completely controlled by parent
} }
......
...@@ -233,7 +233,7 @@ struct OStorage_Impl ...@@ -233,7 +233,7 @@ struct OStorage_Impl
SotElement_Impl* InsertStream( const OUString& aName, bool bEncr ); SotElement_Impl* InsertStream( const OUString& aName, bool bEncr );
void InsertRawStream( const OUString& aName, const css::uno::Reference< css::io::XInputStream >& xInStream ); void InsertRawStream( const OUString& aName, const css::uno::Reference< css::io::XInputStream >& xInStream );
OStorage_Impl* CreateNewStorageImpl( sal_Int32 nStorageMode ); std::unique_ptr<OStorage_Impl> CreateNewStorageImpl( sal_Int32 nStorageMode );
SotElement_Impl* InsertStorage( const OUString& aName, sal_Int32 nStorageMode ); SotElement_Impl* InsertStorage( const OUString& aName, sal_Int32 nStorageMode );
SotElement_Impl* InsertElement( const OUString& aName, bool bIsStorage ); SotElement_Impl* InsertElement( const OUString& aName, bool bIsStorage );
......
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