sw/source/core/fields/docufld.cxx | 4 ++-- sw/source/core/fields/textapi.cxx | 6 +++--- sw/source/core/inc/textapi.hxx | 2 +- sw/source/core/text/porfld.cxx | 36 ++++++++++++++++++------------------ sw/source/core/text/porfld.hxx | 10 +++++----- sw/source/core/text/porftn.hxx | 4 ++-- sw/source/core/text/pormulti.cxx | 8 +++----- sw/source/core/text/txtfld.cxx | 27 ++++++++++++--------------- sw/source/core/text/txtftn.cxx | 4 ++-- sw/source/core/unocore/unofield.cxx | 6 +++--- 10 files changed, 51 insertions(+), 56 deletions(-)
New commits: commit ddfed109ebaa854582bc59750a1988af3f6ad3d6 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Mon Aug 20 15:54:33 2018 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Aug 22 08:27:36 2018 +0200 loplugin:useuniqueptr in SwFieldPortion Change-Id: I7b87652c86ff682760120f3992b33e27f4eaeaed Reviewed-on: https://gerrit.libreoffice.org/59365 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sw/source/core/text/porfld.cxx b/sw/source/core/text/porfld.cxx index d76a1d94c053..818a15d8e26f 100644 --- a/sw/source/core/text/porfld.cxx +++ b/sw/source/core/text/porfld.cxx @@ -52,14 +52,14 @@ SwLinePortion *SwFieldPortion::Compress() SwFieldPortion *SwFieldPortion::Clone( const OUString &rExpand ) const { - SwFont *pNewFnt = m_pFont.get(); - if( nullptr != pNewFnt ) + std::unique_ptr<SwFont> pNewFnt; + if( m_pFont ) { - pNewFnt = new SwFont( *m_pFont ); + pNewFnt.reset(new SwFont( *m_pFont )); } // #i107143# // pass placeholder property to created <SwFieldPortion> instance. - SwFieldPortion* pClone = new SwFieldPortion( rExpand, pNewFnt, m_bPlaceHolder ); + SwFieldPortion* pClone = new SwFieldPortion( rExpand, std::move(pNewFnt), m_bPlaceHolder ); pClone->SetNextOffset( m_nNextOffset ); pClone->m_bNoLength = m_bNoLength; return pClone; @@ -73,8 +73,8 @@ void SwFieldPortion::TakeNextOffset( const SwFieldPortion* pField ) m_bFollow = true; } -SwFieldPortion::SwFieldPortion( const OUString &rExpand, SwFont *pFont, bool bPlaceHold ) - : m_aExpand(rExpand), m_pFont(pFont), m_nNextOffset(0), m_nNextScriptChg(COMPLETE_STRING), m_nViewWidth(0) +SwFieldPortion::SwFieldPortion( const OUString &rExpand, std::unique_ptr<SwFont> pFont, bool bPlaceHold ) + : m_aExpand(rExpand), m_pFont(std::move(pFont)), m_nNextOffset(0), m_nNextScriptChg(COMPLETE_STRING), m_nViewWidth(0) , m_bFollow( false ), m_bLeft( false), m_bHide( false) , m_bCenter (false), m_bHasFollow( false ) , m_bAnimated( false), m_bNoPaint( false) @@ -473,10 +473,10 @@ SwPosSize SwFieldPortion::GetTextSize( const SwTextSizeInfo &rInf ) const SwFieldPortion *SwHiddenPortion::Clone(const OUString &rExpand ) const { - SwFont *pNewFnt = m_pFont.get(); - if( nullptr != pNewFnt ) - pNewFnt = new SwFont( *m_pFont ); - return new SwHiddenPortion( rExpand, pNewFnt ); + std::unique_ptr<SwFont> pNewFnt; + if( m_pFont ) + pNewFnt.reset(new SwFont( *m_pFont )); + return new SwHiddenPortion( rExpand, std::move(pNewFnt) ); } void SwHiddenPortion::Paint( const SwTextPaintInfo &rInf ) const @@ -496,12 +496,12 @@ bool SwHiddenPortion::GetExpText( const SwTextSizeInfo &rInf, OUString &rText ) } SwNumberPortion::SwNumberPortion( const OUString &rExpand, - SwFont *pFont, + std::unique_ptr<SwFont> pFont, const bool bLft, const bool bCntr, const sal_uInt16 nMinDst, const bool bLabelAlignmentPosAndSpaceModeActive ) - : SwFieldPortion( rExpand, pFont ), + : SwFieldPortion( rExpand, std::move(pFont) ), nFixWidth(0), nMinDist( nMinDst ), mbLabelAlignmentPosAndSpaceModeActive( bLabelAlignmentPosAndSpaceModeActive ) @@ -519,11 +519,11 @@ TextFrameIndex SwNumberPortion::GetCursorOfst(const sal_uInt16) const SwFieldPortion *SwNumberPortion::Clone( const OUString &rExpand ) const { - SwFont *pNewFnt = m_pFont.get(); - if( nullptr != pNewFnt ) - pNewFnt = new SwFont( *m_pFont ); + std::unique_ptr<SwFont> pNewFnt; + if( m_pFont ) + pNewFnt.reset(new SwFont( *m_pFont )); - return new SwNumberPortion( rExpand, pNewFnt, IsLeft(), IsCenter(), + return new SwNumberPortion( rExpand, std::move(pNewFnt), IsLeft(), IsCenter(), nMinDist, mbLabelAlignmentPosAndSpaceModeActive ); } @@ -739,13 +739,13 @@ void SwNumberPortion::Paint( const SwTextPaintInfo &rInf ) const SwBulletPortion::SwBulletPortion( const sal_Unicode cBullet, const OUString& rBulletFollowedBy, - SwFont *pFont, + std::unique_ptr<SwFont> pFont, const bool bLft, const bool bCntr, const sal_uInt16 nMinDst, const bool bLabelAlignmentPosAndSpaceModeActive ) : SwNumberPortion( OUStringLiteral1(cBullet) + rBulletFollowedBy, - pFont, bLft, bCntr, nMinDst, + std::move(pFont), bLft, bCntr, nMinDst, bLabelAlignmentPosAndSpaceModeActive ) { SetWhichPor( POR_BULLET ); diff --git a/sw/source/core/text/porfld.hxx b/sw/source/core/text/porfld.hxx index a0476bbb58f2..d014ec9a0bce 100644 --- a/sw/source/core/text/porfld.hxx +++ b/sw/source/core/text/porfld.hxx @@ -53,7 +53,7 @@ protected: public: SwFieldPortion( const SwFieldPortion& rField ); - SwFieldPortion( const OUString &rExpand, SwFont *pFnt = nullptr, bool bPlaceHolder = false ); + SwFieldPortion( const OUString &rExpand, std::unique_ptr<SwFont> pFnt = nullptr, bool bPlaceHolder = false ); virtual ~SwFieldPortion() override; sal_uInt16 m_nAttrFieldType; @@ -107,8 +107,8 @@ public: class SwHiddenPortion : public SwFieldPortion { public: - SwHiddenPortion( const OUString &rExpand, SwFont *pFntL = nullptr ) - : SwFieldPortion( rExpand, pFntL ) + SwHiddenPortion( const OUString &rExpand, std::unique_ptr<SwFont> pFntL = nullptr ) + : SwFieldPortion( rExpand, std::move(pFntL) ) { SetLen(TextFrameIndex(1)); SetWhichPor( POR_HIDDEN ); } virtual void Paint( const SwTextPaintInfo &rInf ) const override; virtual bool GetExpText( const SwTextSizeInfo &rInf, OUString &rText ) const override; @@ -126,7 +126,7 @@ protected: public: SwNumberPortion( const OUString &rExpand, - SwFont *pFnt, + std::unique_ptr<SwFont> pFnt, const bool bLeft, const bool bCenter, const sal_uInt16 nMinDst, @@ -145,7 +145,7 @@ class SwBulletPortion : public SwNumberPortion public: SwBulletPortion( const sal_Unicode cCh, const OUString& rBulletFollowedBy, - SwFont *pFnt, + std::unique_ptr<SwFont> pFnt, const bool bLeft, const bool bCenter, const sal_uInt16 nMinDst, diff --git a/sw/source/core/text/porftn.hxx b/sw/source/core/text/porftn.hxx index bb0b625ce28e..7b0ae819dbe0 100644 --- a/sw/source/core/text/porftn.hxx +++ b/sw/source/core/text/porftn.hxx @@ -50,8 +50,8 @@ public: class SwFootnoteNumPortion : public SwNumberPortion { public: - SwFootnoteNumPortion( const OUString &rExpand, SwFont *pFntL ) - : SwNumberPortion( rExpand, pFntL, true, false, 0, false ) + SwFootnoteNumPortion( const OUString &rExpand, std::unique_ptr<SwFont> pFntL ) + : SwNumberPortion( rExpand, std::move(pFntL), true, false, 0, false ) { SetWhichPor( POR_FTNNUM ); } }; diff --git a/sw/source/core/text/pormulti.cxx b/sw/source/core/text/pormulti.cxx index 78423e440a6f..700d3e0817db 100644 --- a/sw/source/core/text/pormulti.cxx +++ b/sw/source/core/text/pormulti.cxx @@ -585,21 +585,19 @@ SwRubyPortion::SwRubyPortion( const SwMultiCreator& rCreate, const SwFont& rFnt, const SwCharFormat *const pFormat = static_txtattr_cast<SwTextRuby const*>(rCreate.pAttr)->GetCharFormat(); - SwFont *pRubyFont; + std::unique_ptr<SwFont> pRubyFont; if( pFormat ) { const SwAttrSet& rSet = pFormat->GetAttrSet(); - pRubyFont = new SwFont( rFnt ); + pRubyFont.reset(new SwFont( rFnt )); pRubyFont->SetDiffFnt( &rSet, &rIDocumentSettingAccess ); // we do not allow a vertical font for the ruby text pRubyFont->SetVertical( rFnt.GetOrientation() , OnRight() ); } - else - pRubyFont = nullptr; OUString aStr = rRuby.GetText().copy( sal_Int32(nOffs) ); - SwFieldPortion *pField = new SwFieldPortion( aStr, pRubyFont ); + SwFieldPortion *pField = new SwFieldPortion( aStr, std::move(pRubyFont) ); pField->SetNextOffset( nOffs ); pField->SetFollow( true ); diff --git a/sw/source/core/text/txtfld.cxx b/sw/source/core/text/txtfld.cxx index 9ba37a923740..e66b7ed2c884 100644 --- a/sw/source/core/text/txtfld.cxx +++ b/sw/source/core/text/txtfld.cxx @@ -275,18 +275,16 @@ SwExpandPortion *SwTextFormatter::NewFieldPortion( SwTextFormatInfo &rInf, if( bNewFlyPor ) { - SwFont *pTmpFnt = nullptr; + std::unique_ptr<SwFont> pTmpFnt; if( !bName ) { - pTmpFnt = new SwFont( *m_pFont ); + pTmpFnt.reset(new SwFont( *m_pFont )); pTmpFnt->SetDiffFnt(&pChFormat->GetAttrSet(), &m_pFrame->GetDoc().getIDocumentSettingAccess()); } - { - OUString const aStr( bName - ? pField->GetFieldName() - : pField->ExpandField(bInClipboard) ); - pRet = new SwFieldPortion(aStr, pTmpFnt, bPlaceHolder); - } + OUString const aStr( bName + ? pField->GetFieldName() + : pField->ExpandField(bInClipboard) ); + pRet = new SwFieldPortion(aStr, std::move(pTmpFnt), bPlaceHolder); } return pRet; @@ -516,7 +514,6 @@ SwNumberPortion *SwTextFormatter::NewNumberPortion( SwTextFormatInfo &rInf ) con // The SwFont is created dynamically and passed in the ctor, // as the CharFormat only returns an SV-Font. // In the dtor of SwNumberPortion, the SwFont is deleted. - SwFont *pNumFnt = nullptr; const SwAttrSet* pFormat = rNumFormat.GetCharFormat() ? &rNumFormat.GetCharFormat()->GetAttrSet() : nullptr; @@ -527,7 +524,7 @@ SwNumberPortion *SwTextFormatter::NewNumberPortion( SwTextFormatInfo &rInf ) con const vcl::Font *pFormatFnt = rNumFormat.GetBulletFont(); // Build a new bullet font basing on the current paragraph font: - pNumFnt = new SwFont( &rInf.GetCharAttr(), pIDSA ); + std::unique_ptr<SwFont> pNumFnt(new SwFont( &rInf.GetCharAttr(), pIDSA )); // #i53199# if ( !pIDSA->get(DocumentSettingId::DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT) ) @@ -552,7 +549,7 @@ SwNumberPortion *SwTextFormatter::NewNumberPortion( SwTextFormatInfo &rInf ) con if( pFormat ) pNumFnt->SetDiffFnt( pFormat, pIDSA ); - checkApplyParagraphMarkFormatToNumbering( pNumFnt, rInf, pIDSA ); + checkApplyParagraphMarkFormatToNumbering( pNumFnt.get(), rInf, pIDSA ); if ( pFormatFnt ) { @@ -571,7 +568,7 @@ SwNumberPortion *SwTextFormatter::NewNumberPortion( SwTextFormatInfo &rInf ) con // --> OD 2008-01-23 #newlistelevelattrs# pRet = new SwBulletPortion( rNumFormat.GetBulletChar(), pTextNd->GetLabelFollowedBy(), - pNumFnt, + std::move(pNumFnt), bLeft, bCenter, nMinDist, bLabelAlignmentPosAndSpaceModeActive ); } @@ -591,7 +588,7 @@ SwNumberPortion *SwTextFormatter::NewNumberPortion( SwTextFormatInfo &rInf ) con { // Build a new numbering font basing on the current paragraph font: - pNumFnt = new SwFont( &rInf.GetCharAttr(), pIDSA ); + std::unique_ptr<SwFont> pNumFnt(new SwFont( &rInf.GetCharAttr(), pIDSA )); // #i53199# if ( !pIDSA->get(DocumentSettingId::DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT) ) @@ -608,12 +605,12 @@ SwNumberPortion *SwTextFormatter::NewNumberPortion( SwTextFormatInfo &rInf ) con if( pFormat ) pNumFnt->SetDiffFnt( pFormat, pIDSA ); - checkApplyParagraphMarkFormatToNumbering( pNumFnt, rInf, pIDSA ); + checkApplyParagraphMarkFormatToNumbering( pNumFnt.get(), rInf, pIDSA ); // we do not allow a vertical font pNumFnt->SetVertical( pNumFnt->GetOrientation(), m_pFrame->IsVertical() ); - pRet = new SwNumberPortion( aText, pNumFnt, + pRet = new SwNumberPortion( aText, std::move(pNumFnt), bLeft, bCenter, nMinDist, bLabelAlignmentPosAndSpaceModeActive ); } diff --git a/sw/source/core/text/txtftn.cxx b/sw/source/core/text/txtftn.cxx index e07aac8691d9..07ce11d2765f 100644 --- a/sw/source/core/text/txtftn.cxx +++ b/sw/source/core/text/txtftn.cxx @@ -929,7 +929,7 @@ SwNumberPortion *SwTextFormatter::NewFootnoteNumPortion( SwTextFormatInfo const const SwAttrSet* pParSet = &rInf.GetCharAttr(); const IDocumentSettingAccess* pIDSA = &pDoc->getIDocumentSettingAccess(); - SwFont *pNumFnt = new SwFont( pParSet, pIDSA ); + std::unique_ptr<SwFont> pNumFnt(new SwFont( pParSet, pIDSA )); // #i37142# // Underline style of paragraph font should not be considered @@ -949,7 +949,7 @@ SwNumberPortion *SwTextFormatter::NewFootnoteNumPortion( SwTextFormatInfo const pNumFnt->SetDiffFnt(&rSet, pIDSA ); pNumFnt->SetVertical( pNumFnt->GetOrientation(), m_pFrame->IsVertical() ); - SwFootnoteNumPortion* pNewPor = new SwFootnoteNumPortion( aFootnoteText, pNumFnt ); + SwFootnoteNumPortion* pNewPor = new SwFootnoteNumPortion( aFootnoteText, std::move(pNumFnt) ); pNewPor->SetLeft( !m_pFrame->IsRightToLeft() ); return pNewPor; } commit 9590c68852177056602342dd874b8818eeb57e82 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Mon Aug 20 15:02:00 2018 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Aug 22 08:27:22 2018 +0200 loplugin:useuniqueptr in SwTextAPIObject Change-Id: I697a8a119fa4ad0a6c50bc6e4a3bc8944435928a Reviewed-on: https://gerrit.libreoffice.org/59364 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sw/source/core/fields/docufld.cxx b/sw/source/core/fields/docufld.cxx index de055bb4cfa2..b5c8f083dc70 100644 --- a/sw/source/core/fields/docufld.cxx +++ b/sw/source/core/fields/docufld.cxx @@ -1849,8 +1849,8 @@ bool SwPostItField::QueryValue( uno::Any& rAny, sal_uInt16 nWhichId ) const { SwPostItFieldType* pGetType = static_cast<SwPostItFieldType*>(GetTyp()); SwDoc* pDoc = pGetType->GetDoc(); - SwTextAPIEditSource* pObj = new SwTextAPIEditSource( pDoc ); - const_cast <SwPostItField*> (this)->m_xTextObject = new SwTextAPIObject( pObj ); + auto pObj = o3tl::make_unique<SwTextAPIEditSource>( pDoc ); + const_cast <SwPostItField*> (this)->m_xTextObject = new SwTextAPIObject( std::move(pObj) ); } if ( mpText ) diff --git a/sw/source/core/fields/textapi.cxx b/sw/source/core/fields/textapi.cxx index 605b3d06e885..2b10349ba7c5 100644 --- a/sw/source/core/fields/textapi.cxx +++ b/sw/source/core/fields/textapi.cxx @@ -53,9 +53,9 @@ static const SvxItemPropertySet* ImplGetSvxTextPortionPropertySet() return &aSvxTextPortionPropertySet; } -SwTextAPIObject::SwTextAPIObject( SwTextAPIEditSource* p ) -: SvxUnoText( p, ImplGetSvxTextPortionPropertySet(), uno::Reference < text::XText >() ) -, pSource(p) +SwTextAPIObject::SwTextAPIObject( std::unique_ptr<SwTextAPIEditSource> p ) +: SvxUnoText( p.get(), ImplGetSvxTextPortionPropertySet(), uno::Reference < text::XText >() ) +, pSource(std::move(p)) { } diff --git a/sw/source/core/inc/textapi.hxx b/sw/source/core/inc/textapi.hxx index 4c03c8dc62f3..e2d704556993 100644 --- a/sw/source/core/inc/textapi.hxx +++ b/sw/source/core/inc/textapi.hxx @@ -55,7 +55,7 @@ class SwTextAPIObject : public SvxUnoText { std::unique_ptr<SwTextAPIEditSource> pSource; public: - SwTextAPIObject( SwTextAPIEditSource* p); + SwTextAPIObject( std::unique_ptr<SwTextAPIEditSource> p); virtual ~SwTextAPIObject() throw() override; void DisposeEditSource() { pSource->Dispose(); } std::unique_ptr<OutlinerParaObject> CreateText() { return pSource->CreateText(); } diff --git a/sw/source/core/unocore/unofield.cxx b/sw/source/core/unocore/unofield.cxx index 620143150e8a..03e0fedc064c 100644 --- a/sw/source/core/unocore/unofield.cxx +++ b/sw/source/core/unocore/unofield.cxx @@ -89,6 +89,7 @@ #include <svl/listener.hxx> #include <svx/dataaccessdescriptor.hxx> #include <o3tl/any.hxx> +#include <o3tl/make_unique.hxx> #include <osl/mutex.hxx> #include <vcl/svapp.hxx> #include <textapi.hxx> @@ -2376,9 +2377,8 @@ uno::Any SAL_CALL SwXTextField::getPropertyValue(const OUString& rPropertyName) { if (!m_pImpl->m_xTextObject.is()) { - SwTextAPIEditSource* pObj = - new SwTextAPIEditSource(m_pImpl->m_pDoc); - m_pImpl->m_xTextObject = new SwTextAPIObject( pObj ); + m_pImpl->m_xTextObject + = new SwTextAPIObject( o3tl::make_unique<SwTextAPIEditSource>(m_pImpl->m_pDoc) ); } uno::Reference<text::XText> xText(m_pImpl->m_xTextObject.get()); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits