[Libreoffice-commits] core.git: editeng/source include/editeng

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Dec 12 06:29:30 UTC 2018


 editeng/source/editeng/editeng.cxx  |    3 +--
 editeng/source/editeng/impedit.cxx  |   10 +++++-----
 editeng/source/editeng/impedit.hxx  |    2 +-
 editeng/source/editeng/impedit3.cxx |    6 +++---
 editeng/source/items/numitem.cxx    |   13 ++++++-------
 editeng/source/uno/unotext.cxx      |   27 +++++++++++++--------------
 include/editeng/numitem.hxx         |    2 +-
 7 files changed, 30 insertions(+), 33 deletions(-)

New commits:
commit d4fac095361f9d0c08091ba19c3fb167850be6b8
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Tue Dec 11 12:45:04 2018 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Dec 12 07:29:04 2018 +0100

    loplugin:useuniqueptr in editeng
    
    Change-Id: I1172359ed57e5f19e7d3d7af30e6fbf8e54d9e75
    Reviewed-on: https://gerrit.libreoffice.org/64950
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx
index 89ee759b63f8..c67df5641d65 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -1706,14 +1706,13 @@ void EditEngine::InsertParagraph(sal_Int32 nPara, const OUString& rTxt)
 
 void EditEngine::SetText(sal_Int32 nPara, const OUString& rTxt)
 {
-    EditSelection* pSel = pImpEditEngine->SelectParagraph( nPara );
+    std::unique_ptr<EditSelection> pSel = pImpEditEngine->SelectParagraph( nPara );
     if ( pSel )
     {
         pImpEditEngine->UndoActionStart( EDITUNDO_INSERT );
         pImpEditEngine->ImpInsertText( *pSel, rTxt );
         pImpEditEngine->UndoActionEnd();
         pImpEditEngine->FormatAndUpdate();
-        delete pSel;
     }
 }
 
diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx
index 390f524ddab4..66cf4b6a347f 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -236,7 +236,7 @@ void ImpEditView::DrawSelectionXOR( EditSelection aTmpSel, vcl::Region* pRegion,
     bool bClipRegion = pTarget->IsClipRegion();
     vcl::Region aOldRegion = pTarget->GetClipRegion();
 
-    tools::PolyPolygon* pPolyPoly = nullptr;
+    std::unique_ptr<tools::PolyPolygon> pPolyPoly;
 
     if ( !pRegion )
     {
@@ -260,7 +260,7 @@ void ImpEditView::DrawSelectionXOR( EditSelection aTmpSel, vcl::Region* pRegion,
     }
     else
     {
-        pPolyPoly = new tools::PolyPolygon;
+        pPolyPoly.reset(new tools::PolyPolygon);
     }
 
     DBG_ASSERT( !pEditEngine->IsIdleFormatterActive(), "DrawSelectionXOR: Not formatted!" );
@@ -339,7 +339,7 @@ void ImpEditView::DrawSelectionXOR( EditSelection aTmpSel, vcl::Region* pRegion,
                 Range aLineXPosStartEnd = pEditEngine->GetLineXPosStartEnd(pTmpPortion, &rLine);
                 aTopLeft.setX( aLineXPosStartEnd.Min() );
                 aBottomRight.setX( aLineXPosStartEnd.Max() );
-                ImplDrawHighlightRect( pTarget, aTopLeft, aBottomRight, pPolyPoly );
+                ImplDrawHighlightRect( pTarget, aTopLeft, aBottomRight, pPolyPoly.get() );
             }
             else
             {
@@ -360,7 +360,7 @@ void ImpEditView::DrawSelectionXOR( EditSelection aTmpSel, vcl::Region* pRegion,
                     Point aPt1( std::min( nX1, nX2 ), aTopLeft.Y() );
                     Point aPt2( std::max( nX1, nX2 ), aBottomRight.Y() );
 
-                    ImplDrawHighlightRect( pTarget, aPt1, aPt2, pPolyPoly );
+                    ImplDrawHighlightRect( pTarget, aPt1, aPt2, pPolyPoly.get() );
 
                     nTmpStartIndex = nTmpEndIndex;
                 }
@@ -464,7 +464,7 @@ void ImpEditView::DrawSelectionXOR( EditSelection aTmpSel, vcl::Region* pRegion,
             pOutWin->Pop();
         }
 
-        delete pPolyPoly;
+        pPolyPoly.reset();
     }
     else
     {
diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx
index 2ef1ea099c60..b85046088c41 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -868,7 +868,7 @@ public:
 //  OV-Special
     void            InvalidateFromParagraph( sal_Int32 nFirstInvPara );
     EditPaM         InsertParagraph( sal_Int32 nPara );
-    EditSelection*  SelectParagraph( sal_Int32 nPara );
+    std::unique_ptr<EditSelection> SelectParagraph( sal_Int32 nPara );
 
     void            SetStatusEventHdl( const Link<EditStatus&, void>& rLink ) { aStatusHdlLink = rLink; }
     const Link<EditStatus&,void>& GetStatusEventHdl() const               { return aStatusHdlLink; }
diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx
index ee2b003fc46d..05a386dedea9 100644
--- a/editeng/source/editeng/impedit3.cxx
+++ b/editeng/source/editeng/impedit3.cxx
@@ -4174,13 +4174,13 @@ EditPaM ImpEditEngine::InsertParagraph( sal_Int32 nPara )
     return ImpInsertParaBreak( aPaM );
 }
 
-EditSelection* ImpEditEngine::SelectParagraph( sal_Int32 nPara )
+std::unique_ptr<EditSelection> ImpEditEngine::SelectParagraph( sal_Int32 nPara )
 {
-    EditSelection* pSel = nullptr;
+    std::unique_ptr<EditSelection> pSel;
     ContentNode* pNode = GetEditDoc().GetObject( nPara );
     SAL_WARN_IF( !pNode, "editeng", "Paragraph does not exist: SelectParagraph" );
     if ( pNode )
-        pSel = new EditSelection( EditPaM( pNode, 0 ), EditPaM( pNode, pNode->Len() ) );
+        pSel.reset(new EditSelection( EditPaM( pNode, 0 ), EditPaM( pNode, pNode->Len() ) ));
 
     return pSel;
 }
diff --git a/editeng/source/items/numitem.cxx b/editeng/source/items/numitem.cxx
index ad2b4fda65a5..1236c787d6fa 100644
--- a/editeng/source/items/numitem.cxx
+++ b/editeng/source/items/numitem.cxx
@@ -953,15 +953,14 @@ bool SvxNumBulletItem::PutValue( const css::uno::Any& rVal, sal_uInt8 /*nMemberI
     {
         try
         {
-            SvxNumRule* pNewRule = new SvxNumRule( SvxGetNumRule( xRule ) );
+            std::unique_ptr<SvxNumRule> pNewRule(new SvxNumRule( SvxGetNumRule( xRule ) ));
             if( pNewRule->GetLevelCount() != pNumRule->GetLevelCount() ||
                 pNewRule->GetNumRuleType() != pNumRule->GetNumRuleType() )
             {
-                SvxNumRule* pConverted = SvxConvertNumRule( pNewRule, pNumRule->GetLevelCount(), pNumRule->GetNumRuleType() );
-                delete pNewRule;
-                pNewRule = pConverted;
+                std::unique_ptr<SvxNumRule> pConverted = SvxConvertNumRule( pNewRule.get(), pNumRule->GetLevelCount(), pNumRule->GetNumRuleType() );
+                pNewRule = std::move(pConverted);
             }
-            pNumRule.reset( pNewRule );
+            pNumRule = std::move( pNewRule );
             return true;
         }
         catch(const lang::IllegalArgumentException&)
@@ -979,10 +978,10 @@ void SvxNumBulletItem::dumpAsXml(struct _xmlTextWriter* pWriter) const
     xmlTextWriterEndElement(pWriter);
 }
 
-SvxNumRule* SvxConvertNumRule( const SvxNumRule* pRule, sal_uInt16 nLevels, SvxNumRuleType eType )
+std::unique_ptr<SvxNumRule> SvxConvertNumRule( const SvxNumRule* pRule, sal_uInt16 nLevels, SvxNumRuleType eType )
 {
     const sal_uInt16 nSrcLevels = pRule->GetLevelCount();
-    SvxNumRule* pNewRule = new SvxNumRule( pRule->GetFeatureFlags(), nLevels, pRule->IsContinuousNumbering(), eType );
+    std::unique_ptr<SvxNumRule> pNewRule(new SvxNumRule( pRule->GetFeatureFlags(), nLevels, pRule->IsContinuousNumbering(), eType ));
 
     for( sal_uInt16 nLevel = 0; (nLevel < nLevels) && (nLevel < nSrcLevels); nLevel++ )
         pNewRule->SetLevel( nLevel, pRule->GetLevel( nLevel ) );
diff --git a/editeng/source/uno/unotext.cxx b/editeng/source/uno/unotext.cxx
index 0449957b127c..c029eca7e244 100644
--- a/editeng/source/uno/unotext.cxx
+++ b/editeng/source/uno/unotext.cxx
@@ -768,11 +768,11 @@ void SvxUnoTextRangeBase::_setPropertyValues( const uno::Sequence< OUString >& a
             nEndPara = aSel.nEndPara;
         }
 
-        SfxItemSet* pOldAttrSet = nullptr;
-        SfxItemSet* pNewAttrSet = nullptr;
+        std::unique_ptr<SfxItemSet> pOldAttrSet;
+        std::unique_ptr<SfxItemSet> pNewAttrSet;
 
-        SfxItemSet* pOldParaSet = nullptr;
-        SfxItemSet* pNewParaSet = nullptr;
+        std::unique_ptr<SfxItemSet> pOldParaSet;
+        std::unique_ptr<SfxItemSet> pNewParaSet;
 
         for( ; nCount; nCount--, pPropertyNames++, pValues++ )
         {
@@ -787,8 +787,8 @@ void SvxUnoTextRangeBase::_setPropertyValues( const uno::Sequence< OUString >& a
                     if( nullptr == pNewAttrSet )
                     {
                         const SfxItemSet aSet( pForwarder->GetAttribs( aSel ) );
-                        pOldAttrSet = new SfxItemSet( aSet );
-                        pNewAttrSet = new SfxItemSet( *pOldAttrSet->GetPool(), pOldAttrSet->GetRanges() );
+                        pOldAttrSet.reset(new SfxItemSet( aSet ));
+                        pNewAttrSet.reset(new SfxItemSet( *pOldAttrSet->GetPool(), pOldAttrSet->GetRanges() ));
                     }
 
                     setPropertyValue( pMap, *pValues, GetSelection(), *pOldAttrSet, *pNewAttrSet );
@@ -806,9 +806,9 @@ void SvxUnoTextRangeBase::_setPropertyValues( const uno::Sequence< OUString >& a
                 {
                     if( nullptr == pNewParaSet )
                     {
-                        const SfxItemSet aSet( pForwarder->GetParaAttribs( nTempPara ) );
-                        pOldParaSet = new SfxItemSet( aSet );
-                        pNewParaSet = new SfxItemSet( *pOldParaSet->GetPool(), pOldParaSet->GetRanges() );
+                        const SfxItemSet & rSet = pForwarder->GetParaAttribs( nTempPara );
+                        pOldParaSet.reset(new SfxItemSet( rSet ));
+                        pNewParaSet.reset(new SfxItemSet( *pOldParaSet->GetPool(), pOldParaSet->GetRanges() ));
                     }
 
                     setPropertyValue( pMap, *pValues, GetSelection(), *pOldParaSet, *pNewParaSet );
@@ -842,8 +842,8 @@ void SvxUnoTextRangeBase::_setPropertyValues( const uno::Sequence< OUString >& a
                 bNeedsUpdate = true;
             }
 
-            delete pNewParaSet;
-            delete pOldParaSet;
+            pNewParaSet.reset();
+            pOldParaSet.reset();
         }
 
         if( pNewAttrSet )
@@ -853,9 +853,8 @@ void SvxUnoTextRangeBase::_setPropertyValues( const uno::Sequence< OUString >& a
                 pForwarder->QuickSetAttribs( *pNewAttrSet, GetSelection() );
                 bNeedsUpdate = true;
             }
-            delete pNewAttrSet;
-            delete pOldAttrSet;
-
+            pNewAttrSet.reset();
+            pOldAttrSet.reset();
         }
 
         if( bNeedsUpdate )
diff --git a/include/editeng/numitem.hxx b/include/editeng/numitem.hxx
index 8fb543e7a305..d086d3aa7596 100644
--- a/include/editeng/numitem.hxx
+++ b/include/editeng/numitem.hxx
@@ -346,7 +346,7 @@ inline SvxNodeNum& SvxNodeNum::operator=( const SvxNodeNum& rCpy )
     return *this;
 }
 
-SvxNumRule* SvxConvertNumRule( const SvxNumRule* pRule, sal_uInt16 nLevel, SvxNumRuleType eType );
+std::unique_ptr<SvxNumRule> SvxConvertNumRule( const SvxNumRule* pRule, sal_uInt16 nLevel, SvxNumRuleType eType );
 
 #endif
 


More information about the Libreoffice-commits mailing list