sot/source/unoolestorage/xolesimplestorage.cxx | 48 +++++++----------- sot/source/unoolestorage/xolesimplestorage.hxx | 2 sw/source/filter/ww8/docxexport.cxx | 5 - sw/source/filter/ww8/rtfexport.cxx | 2 sw/source/filter/ww8/wrtww8.cxx | 64 ++++++++++--------------- sw/source/filter/ww8/wrtww8.hxx | 26 +++++----- sw/source/filter/ww8/ww8atr.cxx | 16 +++--- 7 files changed, 70 insertions(+), 93 deletions(-)
New commits: commit b06abdb3ddfa1337b7433f02689fa9f0f9c7cf09 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Tue Dec 4 14:49:22 2018 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Dec 5 07:50:05 2018 +0100 use unique_ptr in OLESimpleStorage Change-Id: I5ef95846640efac00055336435356efdd0a8326d Reviewed-on: https://gerrit.libreoffice.org/64524 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sot/source/unoolestorage/xolesimplestorage.cxx b/sot/source/unoolestorage/xolesimplestorage.cxx index 8804c4318fad..c61b643811f0 100644 --- a/sot/source/unoolestorage/xolesimplestorage.cxx +++ b/sot/source/unoolestorage/xolesimplestorage.cxx @@ -45,7 +45,6 @@ OLESimpleStorage::OLESimpleStorage( css::uno::Reference<css::uno::XComponentContext> const & xContext, css::uno::Sequence<css::uno::Any> const &aArguments) : m_bDisposed( false ) -, m_pStorage( nullptr ) , m_pListenersContainer( nullptr ) , m_xContext( xContext ) , m_bNoTemporaryCopy( false ) @@ -135,7 +134,7 @@ OLESimpleStorage::OLESimpleStorage( if ( !m_pStream || m_pStream->GetError() ) throw io::IOException(); // TODO - m_pStorage = new Storage( *m_pStream, false ); + m_pStorage.reset(new Storage( *m_pStream, false )); } OLESimpleStorage::~OLESimpleStorage() @@ -187,11 +186,10 @@ void OLESimpleStorage::InsertInputStreamToStorage_Impl( BaseStorage* pStorage, c if ( pStorage->IsContained( aName ) ) throw container::ElementExistException(); // TODO: - BaseStorageStream* pNewStream = pStorage->OpenStream( aName ); + std::unique_ptr<BaseStorageStream> pNewStream(pStorage->OpenStream( aName )); if ( !pNewStream || pNewStream->GetError() || pStorage->GetError() ) { - if ( pNewStream ) - DELETEZ( pNewStream ); + pNewStream.reset(); pStorage->ResetError(); throw io::IOException(); // TODO } @@ -211,13 +209,11 @@ void OLESimpleStorage::InsertInputStreamToStorage_Impl( BaseStorage* pStorage, c } catch( uno::Exception& ) { - DELETEZ( pNewStream ); + pNewStream.reset(); pStorage->Remove( aName ); throw; } - - DELETEZ( pNewStream ); } @@ -229,11 +225,10 @@ void OLESimpleStorage::InsertNameAccessToStorage_Impl( BaseStorage* pStorage, co if ( pStorage->IsContained( aName ) ) throw container::ElementExistException(); // TODO: - BaseStorage* pNewStorage = pStorage->OpenStorage( aName ); + std::unique_ptr<BaseStorage> pNewStorage(pStorage->OpenStorage( aName )); if ( !pNewStorage || pNewStorage->GetError() || pStorage->GetError() ) { - if ( pNewStorage ) - DELETEZ( pNewStorage ); + pNewStorage.reset(); pStorage->ResetError(); throw io::IOException(); // TODO } @@ -247,20 +242,18 @@ void OLESimpleStorage::InsertNameAccessToStorage_Impl( BaseStorage* pStorage, co uno::Reference< container::XNameAccess > xSubNameAccess; uno::Any aAny = xNameAccess->getByName( aElements[nInd] ); if ( aAny >>= xInputStream ) - InsertInputStreamToStorage_Impl( pNewStorage, aElements[nInd], xInputStream ); + InsertInputStreamToStorage_Impl( pNewStorage.get(), aElements[nInd], xInputStream ); else if ( aAny >>= xSubNameAccess ) - InsertNameAccessToStorage_Impl( pNewStorage, aElements[nInd], xSubNameAccess ); + InsertNameAccessToStorage_Impl( pNewStorage.get(), aElements[nInd], xSubNameAccess ); } } catch( uno::Exception& ) { - DELETEZ( pNewStorage ); + pNewStorage.reset(); pStorage->Remove( aName ); throw; } - - DELETEZ( pNewStorage ); } @@ -292,9 +285,9 @@ void SAL_CALL OLESimpleStorage::insertByName( const OUString& aName, const uno:: throw lang::IllegalArgumentException(); // TODO: if ( xInputStream.is() ) - InsertInputStreamToStorage_Impl( m_pStorage, aName, xInputStream ); + InsertInputStreamToStorage_Impl( m_pStorage.get(), aName, xInputStream ); else if ( xNameAccess.is() ) - InsertNameAccessToStorage_Impl( m_pStorage, aName, xNameAccess ); + InsertNameAccessToStorage_Impl( m_pStorage.get(), aName, xNameAccess ); else throw uno::RuntimeException(); } @@ -391,7 +384,7 @@ uno::Any SAL_CALL OLESimpleStorage::getByName( const OUString& aName ) if ( m_pStorage->IsStorage( aName ) ) { - BaseStorage* pStrg = m_pStorage->OpenStorage( aName ); + std::unique_ptr<BaseStorage> pStrg(m_pStorage->OpenStorage( aName )); m_pStorage->ResetError(); if ( !pStrg ) throw lang::WrappedTargetException(); // io::IOException(); // TODO @@ -400,12 +393,12 @@ uno::Any SAL_CALL OLESimpleStorage::getByName( const OUString& aName ) if ( !pStream ) throw uno::RuntimeException(); - BaseStorage* pNewStor = new Storage( *pStream, false ); - bool bSuccess = ( pStrg->CopyTo( pNewStor ) && pNewStor->Commit() && + std::unique_ptr<BaseStorage> pNewStor(new Storage( *pStream, false )); + bool bSuccess = ( pStrg->CopyTo( pNewStor.get() ) && pNewStor->Commit() && !pNewStor->GetError() && !pStrg->GetError() ); - DELETEZ( pNewStor ); - DELETEZ( pStrg ); + pNewStor.reset(); + pStrg.reset(); pStream.reset(); if ( !bSuccess ) @@ -419,13 +412,12 @@ uno::Any SAL_CALL OLESimpleStorage::getByName( const OUString& aName ) } else { - BaseStorageStream* pStream = m_pStorage->OpenStream( aName, StreamMode::READ | StreamMode::SHARE_DENYALL | StreamMode::NOCREATE ); + std::unique_ptr<BaseStorageStream> pStream(m_pStorage->OpenStream( aName, StreamMode::READ | StreamMode::SHARE_DENYALL | StreamMode::NOCREATE )); try { if ( !pStream || pStream->GetError() || m_pStorage->GetError() ) { m_pStorage->ResetError(); - DELETEZ( pStream ); throw io::IOException(); // TODO } @@ -451,18 +443,16 @@ uno::Any SAL_CALL OLESimpleStorage::getByName( const OUString& aName ) } catch (const uno::RuntimeException&) { - DELETEZ( pStream ); throw; } catch (const uno::Exception& ex) { css::uno::Any anyEx = cppu::getCaughtException(); - DELETEZ( pStream ); throw css::lang::WrappedTargetException( ex.Message, nullptr, anyEx ); } - DELETEZ( pStream ); + pStream.reset(); aResult <<= xInputStream; } @@ -570,7 +560,7 @@ void SAL_CALL OLESimpleStorage::dispose() m_pListenersContainer->disposeAndClear( aSource ); } - DELETEZ( m_pStorage ); + m_pStorage.reset(); m_pStream.reset(); m_xStream.clear(); diff --git a/sot/source/unoolestorage/xolesimplestorage.hxx b/sot/source/unoolestorage/xolesimplestorage.hxx index 3cd4d86c011e..0dc2c6160a58 100644 --- a/sot/source/unoolestorage/xolesimplestorage.hxx +++ b/sot/source/unoolestorage/xolesimplestorage.hxx @@ -47,7 +47,7 @@ class OLESimpleStorage : public cppu::WeakImplHelper<css::embed::XOLESimpleStora css::uno::Reference< css::io::XStream > m_xStream; css::uno::Reference< css::io::XStream > m_xTempStream; std::unique_ptr<SvStream> m_pStream; - BaseStorage* m_pStorage; + std::unique_ptr<BaseStorage> m_pStorage; ::comphelper::OInterfaceContainerHelper2* m_pListenersContainer; // list of listeners css::uno::Reference<css::uno::XComponentContext> m_xContext; commit c77a81224da71aaee6ca4351c49274293241f88c Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Tue Dec 4 14:46:06 2018 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Dec 5 07:49:56 2018 +0100 use unique_ptr in ww8 export code Change-Id: I505c8005aebec40b8e812aea10deaf79eb7223ab Reviewed-on: https://gerrit.libreoffice.org/64523 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sw/source/filter/ww8/docxexport.cxx b/sw/source/filter/ww8/docxexport.cxx index 91e485eaa980..e311e7855ae3 100644 --- a/sw/source/filter/ww8/docxexport.cxx +++ b/sw/source/filter/ww8/docxexport.cxx @@ -534,8 +534,7 @@ ErrCode DocxExport::ExportDocument_Impl() WriteVBA(); m_aLinkedTextboxesHelper.clear(); //final cleanup - delete m_pStyles; - m_pStyles = nullptr; + m_pStyles.reset(); m_pSections.reset(); return ERRCODE_NONE; @@ -639,7 +638,7 @@ void DocxExport::PrepareNewPageDesc( const SfxItemSet* pSet, void DocxExport::InitStyles() { - m_pStyles = new MSWordStyles( *this, /*bListStyles =*/ true ); + m_pStyles.reset(new MSWordStyles( *this, /*bListStyles =*/ true )); // setup word/styles.xml and the relations + content type m_pFilter->addRelation( m_pDocumentFS->getOutputStream(), diff --git a/sw/source/filter/ww8/rtfexport.cxx b/sw/source/filter/ww8/rtfexport.cxx index 89a80960da6f..fdfd30e89de3 100644 --- a/sw/source/filter/ww8/rtfexport.cxx +++ b/sw/source/filter/ww8/rtfexport.cxx @@ -692,7 +692,7 @@ ErrCode RtfExport::ExportDocument_Impl() // Font table WriteFonts(); - m_pStyles = new MSWordStyles(*this); + m_pStyles.reset(new MSWordStyles(*this)); // Color and stylesheet table WriteStyles(); diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx index a6dcefce8a89..371912fba436 100644 --- a/sw/source/filter/ww8/wrtww8.cxx +++ b/sw/source/filter/ww8/wrtww8.cxx @@ -3333,21 +3333,21 @@ ErrCode WW8Export::ExportDocument_Impl() m_pBkmks = new WW8_WrtBookmarks; // Bookmarks GetWriter().CreateBookmarkTable(); - m_pPapPlc = new WW8_WrPlcPn( *this, PAP, pFib->m_fcMin ); - m_pChpPlc = new WW8_WrPlcPn( *this, CHP, pFib->m_fcMin ); + m_pPapPlc.reset(new WW8_WrPlcPn( *this, PAP, pFib->m_fcMin )); + m_pChpPlc.reset(new WW8_WrPlcPn( *this, CHP, pFib->m_fcMin )); pO = new ww::bytes; - m_pStyles = new MSWordStyles( *this ); - m_pFieldMain = new WW8_WrPlcField( 2, TXT_MAINTEXT ); - m_pFieldHdFt = new WW8_WrPlcField( 2, TXT_HDFT ); - m_pFieldFootnote = new WW8_WrPlcField( 2, TXT_FTN ); - m_pFieldEdn = new WW8_WrPlcField( 2, TXT_EDN ); - m_pFieldAtn = new WW8_WrPlcField( 2, TXT_ATN ); - m_pFieldTextBxs = new WW8_WrPlcField( 2, TXT_TXTBOX ); - m_pFieldHFTextBxs = new WW8_WrPlcField( 2, TXT_HFTXTBOX ); - - m_pMagicTable = new WW8_WrMagicTable; - - m_pGrf = new SwWW8WrGrf( *this ); + m_pStyles.reset(new MSWordStyles( *this )); + m_pFieldMain.reset(new WW8_WrPlcField( 2, TXT_MAINTEXT )); + m_pFieldHdFt.reset(new WW8_WrPlcField( 2, TXT_HDFT )); + m_pFieldFootnote.reset(new WW8_WrPlcField( 2, TXT_FTN )); + m_pFieldEdn.reset(new WW8_WrPlcField( 2, TXT_EDN )); + m_pFieldAtn.reset(new WW8_WrPlcField( 2, TXT_ATN )); + m_pFieldTextBxs.reset(new WW8_WrPlcField( 2, TXT_TXTBOX )); + m_pFieldHFTextBxs.reset(new WW8_WrPlcField( 2, TXT_HFTXTBOX )); + + m_pMagicTable.reset(new WW8_WrMagicTable); + + m_pGrf.reset(new SwWW8WrGrf( *this )); m_pPiece = new WW8_WrPct( pFib->m_fcMin ); pDop.reset(new WW8Dop); @@ -3419,19 +3419,19 @@ ErrCode WW8Export::ExportDocument_Impl() done:; } - DELETEZ( m_pGrf ); - DELETEZ( m_pMagicTable ); - DELETEZ( m_pFieldFootnote ); - DELETEZ( m_pFieldTextBxs ); - DELETEZ( m_pFieldHFTextBxs ); - DELETEZ( m_pFieldAtn ); - DELETEZ( m_pFieldEdn ); - DELETEZ( m_pFieldHdFt ); - DELETEZ( m_pFieldMain ); - DELETEZ( m_pStyles ); + m_pGrf.reset(); + m_pMagicTable.reset();; + m_pFieldFootnote.reset();; + m_pFieldTextBxs.reset();; + m_pFieldHFTextBxs.reset();; + m_pFieldAtn.reset();; + m_pFieldEdn.reset();; + m_pFieldHdFt.reset();; + m_pFieldMain.reset();; + m_pStyles.reset();; DELETEZ( pO ); - DELETEZ( m_pChpPlc ); - DELETEZ( m_pPapPlc ); + m_pChpPlc.reset();; + m_pPapPlc.reset();; pSepx.reset(); delete m_pRedlAuthors; @@ -3583,25 +3583,13 @@ MSWordExportBase::MSWordExportBase( SwDoc *pDocument, SwPaM *pCurrentPam, SwPaM , m_pCurrentPageDesc(nullptr) , m_bPrevTextNodeIsEmpty(false) , m_bFirstTOCNodeWithSection(false) - , m_pPapPlc(nullptr) - , m_pChpPlc(nullptr) , m_pChpIter(nullptr) - , m_pStyles(nullptr) , m_pAtn(nullptr) , m_pTextBxs(nullptr) , m_pHFTextBxs(nullptr) , m_pParentFrame(nullptr) , m_pFlyOffset(nullptr) , m_eNewAnchorType(RndStdIds::FLY_AS_CHAR) - , m_pFieldMain(nullptr) - , m_pFieldHdFt(nullptr) - , m_pFieldFootnote(nullptr) - , m_pFieldEdn(nullptr) - , m_pFieldAtn(nullptr) - , m_pFieldTextBxs(nullptr) - , m_pFieldHFTextBxs(nullptr) - , m_pMagicTable(nullptr) - , m_pGrf(nullptr) , m_pStyAttr(nullptr) , m_pOutFormatNode(nullptr) , m_pCurrentStyle(nullptr) diff --git a/sw/source/filter/ww8/wrtww8.hxx b/sw/source/filter/ww8/wrtww8.hxx index 0766d4df2c39..90e1a815a140 100644 --- a/sw/source/filter/ww8/wrtww8.hxx +++ b/sw/source/filter/ww8/wrtww8.hxx @@ -486,10 +486,10 @@ public: const SwPageDesc *m_pCurrentPageDesc; bool m_bPrevTextNodeIsEmpty; bool m_bFirstTOCNodeWithSection; - WW8_WrPlcPn* m_pPapPlc; - WW8_WrPlcPn* m_pChpPlc; + std::unique_ptr<WW8_WrPlcPn> m_pPapPlc; + std::unique_ptr<WW8_WrPlcPn> m_pChpPlc; MSWordAttrIter* m_pChpIter; - MSWordStyles* m_pStyles; + std::unique_ptr<MSWordStyles> m_pStyles; WW8_WrPlcAnnotations* m_pAtn; std::unique_ptr<WW8_WrtFactoids> m_pFactoids; WW8_WrPlcTextBoxes *m_pTextBxs, *m_pHFTextBxs; @@ -512,18 +512,18 @@ public: Point* m_pFlyOffset; // for adjusting of character-bound Fly in the Writer, RndStdIds m_eNewAnchorType; // that is paragraph-bound in the WW. - WW8_WrPlcField* m_pFieldMain; // fields in MainText - WW8_WrPlcField* m_pFieldHdFt; // fields in Header/Footer - WW8_WrPlcField* m_pFieldFootnote; // fields in FootNotes - WW8_WrPlcField* m_pFieldEdn; // fields in EndNotes - WW8_WrPlcField* m_pFieldAtn; // fields in Annotations - WW8_WrPlcField* m_pFieldTextBxs; // fields in textboxes - WW8_WrPlcField* m_pFieldHFTextBxs; // fields in header/footer textboxes - WW8_WrMagicTable *m_pMagicTable; // keeps track of table cell positions, and + std::unique_ptr<WW8_WrPlcField> m_pFieldMain; // fields in MainText + std::unique_ptr<WW8_WrPlcField> m_pFieldHdFt; // fields in Header/Footer + std::unique_ptr<WW8_WrPlcField> m_pFieldFootnote; // fields in FootNotes + std::unique_ptr<WW8_WrPlcField> m_pFieldEdn; // fields in EndNotes + std::unique_ptr<WW8_WrPlcField> m_pFieldAtn; // fields in Annotations + std::unique_ptr<WW8_WrPlcField> m_pFieldTextBxs; // fields in textboxes + std::unique_ptr<WW8_WrPlcField> m_pFieldHFTextBxs; // fields in header/footer textboxes + std::unique_ptr<WW8_WrMagicTable> m_pMagicTable; // keeps track of table cell positions, and // marks those that contain graphics, // which is required to make word display // graphics inside tables - SwWW8WrGrf* m_pGrf; + std::unique_ptr<SwWW8WrGrf> m_pGrf; const SwAttrSet* m_pStyAttr; // StyleAttr for Tabs const SwModify* m_pOutFormatNode; // write Format or Node const SwFormat *m_pCurrentStyle; // iff bStyDef=true, then this store the current style @@ -960,7 +960,7 @@ private: class WW8Export : public MSWordExportBase { public: - ww::bytes* pO; ///< Buffer + ww::bytes *pO; ///< Buffer SvStream *pTableStrm, *pDataStrm; ///< Streams for WW97 Export diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx index f48554658ec8..76de5be7b2ec 100644 --- a/sw/source/filter/ww8/ww8atr.cxx +++ b/sw/source/filter/ww8/ww8atr.cxx @@ -1711,25 +1711,25 @@ WW8_WrPlcField* WW8Export::CurrentFieldPlc() const switch (m_nTextTyp) { case TXT_MAINTEXT: - pFieldP = m_pFieldMain; + pFieldP = m_pFieldMain.get(); break; case TXT_HDFT: - pFieldP = m_pFieldHdFt; + pFieldP = m_pFieldHdFt.get(); break; case TXT_FTN: - pFieldP = m_pFieldFootnote; + pFieldP = m_pFieldFootnote.get(); break; case TXT_EDN: - pFieldP = m_pFieldEdn; + pFieldP = m_pFieldEdn.get(); break; case TXT_ATN: - pFieldP = m_pFieldAtn; + pFieldP = m_pFieldAtn.get(); break; case TXT_TXTBOX: - pFieldP = m_pFieldTextBxs; + pFieldP = m_pFieldTextBxs.get(); break; case TXT_HFTXTBOX: - pFieldP = m_pFieldHFTextBxs; + pFieldP = m_pFieldHFTextBxs.get(); break; default: OSL_ENSURE( false, "what type of SubDoc is that?" ); @@ -3884,7 +3884,7 @@ void WW8AttributeOutput::SectionBreak( sal_uInt8 nC, const WW8_SepInfo* /*pSecti sal_uInt32 AttributeOutputBase::GridCharacterPitch( const SwTextGridItem& rGrid ) const { - MSWordStyles * pStyles = GetExport().m_pStyles; + MSWordStyles * pStyles = GetExport().m_pStyles.get(); const SwFormat * pSwFormat = pStyles->GetSwFormat(0); sal_uInt32 nPageCharSize = 0; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits