[Libreoffice-commits] core.git: 2 commits - sc/inc sc/source sd/source

Noel Grandin noel.grandin at collabora.co.uk
Thu Jun 21 06:28:36 UTC 2018


 sc/inc/dpobject.hxx                           |   18 +++---
 sc/source/core/data/dpobject.cxx              |   67 +++++++++++---------------
 sd/source/ui/annotations/annotationwindow.cxx |   14 ++---
 sd/source/ui/annotations/annotationwindow.hxx |    8 +--
 4 files changed, 49 insertions(+), 58 deletions(-)

New commits:
commit 8ce072a7dcc14750cf50a76a5da49cd84412314c
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date:   Wed Jun 20 17:03:48 2018 +0200

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

diff --git a/sc/inc/dpobject.hxx b/sc/inc/dpobject.hxx
index 2e02ac88eed8..ee2efd74f00c 100644
--- a/sc/inc/dpobject.hxx
+++ b/sc/inc/dpobject.hxx
@@ -81,17 +81,17 @@ class SC_DLLPUBLIC ScDPObject
 private:
     ScDocument*             pDoc;
                                             // settings
-    ScDPSaveData*           pSaveData;
+    std::unique_ptr<ScDPSaveData> pSaveData;
     OUString aTableName;
     OUString aTableTag;
     ScRange                 aOutRange;
-    ScSheetSourceDesc*      pSheetDesc;     //  for sheet data
-    ScImportSourceDesc*     pImpDesc;       //  for database data
-    ScDPServiceDesc*        pServDesc;      //  for external service
+    std::unique_ptr<ScSheetSourceDesc>  pSheetDesc;     //  for sheet data
+    std::unique_ptr<ScImportSourceDesc> pImpDesc;       //  for database data
+    std::unique_ptr<ScDPServiceDesc> pServDesc;      //  for external service
     std::shared_ptr<ScDPTableData>  mpTableData;
                                             // cached data
     css::uno::Reference<css::sheet::XDimensionsSupplier> xSource;
-    ScDPOutput*             pOutput;
+    std::unique_ptr<ScDPOutput> pOutput;
     long                    nHeaderRows;    // page fields plus filter button
     bool                    mbHeaderLayout:1;  // true : grid, false : standard
     bool                    bAllowMove:1;
@@ -129,7 +129,7 @@ public:
     ScRange GetOutputRangeByType( sal_Int32 nType ) const;
 
     void                SetSaveData(const ScDPSaveData& rData);
-    ScDPSaveData*       GetSaveData() const     { return pSaveData; }
+    ScDPSaveData*       GetSaveData() const     { return pSaveData.get(); }
 
     void                SetOutRange(const ScRange& rRange);
     const ScRange&      GetOutRange() const;
@@ -144,9 +144,9 @@ public:
     void                WriteSourceDataTo( ScDPObject& rDest ) const;
     void                WriteTempDataTo( ScDPObject& rDest ) const;
 
-    const ScSheetSourceDesc* GetSheetDesc() const   { return pSheetDesc; }
-    const ScImportSourceDesc* GetImportSourceDesc() const   { return pImpDesc; }
-    const ScDPServiceDesc* GetDPServiceDesc() const { return pServDesc; }
+    const ScSheetSourceDesc* GetSheetDesc() const   { return pSheetDesc.get(); }
+    const ScImportSourceDesc* GetImportSourceDesc() const   { return pImpDesc.get(); }
+    const ScDPServiceDesc* GetDPServiceDesc() const { return pServDesc.get(); }
 
     css::uno::Reference<css::sheet::XDimensionsSupplier> const & GetSource();
 
diff --git a/sc/source/core/data/dpobject.cxx b/sc/source/core/data/dpobject.cxx
index eebe2f5f10ac..eaa827e837ac 100644
--- a/sc/source/core/data/dpobject.cxx
+++ b/sc/source/core/data/dpobject.cxx
@@ -340,13 +340,13 @@ ScDPObject::ScDPObject(const ScDPObject& r) :
     mbEnableGetPivotData(r.mbEnableGetPivotData)
 {
     if (r.pSaveData)
-        pSaveData = new ScDPSaveData(*r.pSaveData);
+        pSaveData.reset( new ScDPSaveData(*r.pSaveData) );
     if (r.pSheetDesc)
-        pSheetDesc = new ScSheetSourceDesc(*r.pSheetDesc);
+        pSheetDesc.reset( new ScSheetSourceDesc(*r.pSheetDesc) );
     if (r.pImpDesc)
-        pImpDesc = new ScImportSourceDesc(*r.pImpDesc);
+        pImpDesc.reset( new ScImportSourceDesc(*r.pImpDesc) );
     if (r.pServDesc)
-        pServDesc = new ScDPServiceDesc(*r.pServDesc);
+        pServDesc.reset( new ScDPServiceDesc(*r.pServDesc) );
     // xSource (and pOutput) is not copied
 }
 
@@ -370,13 +370,13 @@ ScDPObject& ScDPObject::operator= (const ScDPObject& r)
     mbEnableGetPivotData = r.mbEnableGetPivotData;
 
     if (r.pSaveData)
-        pSaveData = new ScDPSaveData(*r.pSaveData);
+        pSaveData.reset( new ScDPSaveData(*r.pSaveData) );
     if (r.pSheetDesc)
-        pSheetDesc = new ScSheetSourceDesc(*r.pSheetDesc);
+        pSheetDesc.reset( new ScSheetSourceDesc(*r.pSheetDesc) );
     if (r.pImpDesc)
-        pImpDesc = new ScImportSourceDesc(*r.pImpDesc);
+        pImpDesc.reset( new ScImportSourceDesc(*r.pImpDesc) );
     if (r.pServDesc)
-        pServDesc = new ScDPServiceDesc(*r.pServDesc);
+        pServDesc.reset( new ScDPServiceDesc(*r.pServDesc) );
 
     return *this;
 }
@@ -393,10 +393,9 @@ void ScDPObject::SetAllowMove(bool bSet)
 
 void ScDPObject::SetSaveData(const ScDPSaveData& rData)
 {
-    if ( pSaveData != &rData )      // API implementation modifies the original SaveData object
+    if ( pSaveData.get() != &rData )      // API implementation modifies the original SaveData object
     {
-        delete pSaveData;
-        pSaveData = new ScDPSaveData( rData );
+        pSaveData.reset( new ScDPSaveData( rData ) );
     }
 
     InvalidateData();       // re-init source from SaveData
@@ -425,11 +424,10 @@ void ScDPObject::SetSheetDesc(const ScSheetSourceDesc& rDesc)
     if ( pSheetDesc && rDesc == *pSheetDesc )
         return;             // nothing to do
 
-    DELETEZ( pImpDesc );
-    DELETEZ( pServDesc );
+    pImpDesc.reset();
+    pServDesc.reset();
 
-    delete pSheetDesc;
-    pSheetDesc = new ScSheetSourceDesc(rDesc);
+    pSheetDesc.reset( new ScSheetSourceDesc(rDesc) );
 
     //  make valid QueryParam
 
@@ -450,11 +448,10 @@ void ScDPObject::SetImportDesc(const ScImportSourceDesc& rDesc)
     if ( pImpDesc && rDesc == *pImpDesc )
         return;             // nothing to do
 
-    DELETEZ( pSheetDesc );
-    DELETEZ( pServDesc );
+    pSheetDesc.reset();
+    pServDesc.reset();
 
-    delete pImpDesc;
-    pImpDesc = new ScImportSourceDesc(rDesc);
+    pImpDesc.reset( new ScImportSourceDesc(rDesc) );
 
     ClearTableData();      // new source must be created
 }
@@ -464,11 +461,10 @@ void ScDPObject::SetServiceData(const ScDPServiceDesc& rDesc)
     if ( pServDesc && rDesc == *pServDesc )
         return;             // nothing to do
 
-    DELETEZ( pSheetDesc );
-    DELETEZ( pImpDesc );
+    pSheetDesc.reset();
+    pImpDesc.reset();
 
-    delete pServDesc;
-    pServDesc = new ScDPServiceDesc(rDesc);
+    pServDesc.reset( new ScDPServiceDesc(rDesc) );
 
     ClearTableData();      // new source must be created
 }
@@ -536,7 +532,7 @@ void ScDPObject::CreateOutput()
     if (!pOutput)
     {
         bool bFilterButton = IsSheetData() && pSaveData && pSaveData->GetFilterButton();
-        pOutput = new ScDPOutput( pDoc, xSource, aOutRange.aStart, bFilterButton );
+        pOutput.reset( new ScDPOutput( pDoc, xSource, aOutRange.aStart, bFilterButton ) );
         pOutput->SetHeaderLayout ( mbHeaderLayout );
 
         long nOldRows = nHeaderRows;
@@ -709,7 +705,7 @@ ScDPTableData* ScDPObject::GetTableData()
             if (!pSheetDesc)
             {
                 OSL_FAIL("no source descriptor");
-                pSheetDesc = new ScSheetSourceDesc(pDoc);     // dummy defaults
+                pSheetDesc.reset( new ScSheetSourceDesc(pDoc) );     // dummy defaults
             }
 
             {
@@ -744,7 +740,7 @@ void ScDPObject::CreateObjects()
 {
     if (!xSource.is())
     {
-        DELETEZ( pOutput );     // not valid when xSource is changed
+        pOutput.reset();     // not valid when xSource is changed
 
         if ( pServDesc )
         {
@@ -773,7 +769,7 @@ void ScDPObject::CreateObjects()
     }
     else if (bSettingsChanged)
     {
-        DELETEZ( pOutput );     // not valid when xSource is changed
+        pOutput.reset();     // not valid when xSource is changed
 
         uno::Reference<util::XRefreshable> xRef( xSource, uno::UNO_QUERY );
         if (xRef.is())
@@ -801,16 +797,11 @@ void ScDPObject::InvalidateData()
 
 void ScDPObject::Clear()
 {
-    delete pOutput;
-    delete pSaveData;
-    delete pSheetDesc;
-    delete pImpDesc;
-    delete pServDesc;
-    pOutput = nullptr;
-    pSaveData = nullptr;
-    pSheetDesc = nullptr;
-    pImpDesc = nullptr;
-    pServDesc = nullptr;
+    pOutput.reset();
+    pSaveData.reset();
+    pSheetDesc.reset();
+    pImpDesc.reset();
+    pServDesc.reset();
     ClearTableData();
 }
 
@@ -2094,7 +2085,7 @@ void ScDPObject::ToggleDetails(const DataPilotTableHeaderData& rElemDesc, ScDPOb
     //TODO: use Hierarchy and Level in SaveData !!!!
 
     //  modify pDestObj if set, this object otherwise
-    ScDPSaveData* pModifyData = pDestObj ? ( pDestObj->pSaveData ) : pSaveData;
+    ScDPSaveData* pModifyData = pDestObj ? ( pDestObj->pSaveData.get() ) : pSaveData.get();
     OSL_ENSURE( pModifyData, "no data?" );
     if ( pModifyData )
     {
commit 5652727f2bfa2bce77e83de718e3f599fe5eebcd
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date:   Wed Jun 20 16:39:07 2018 +0200

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

diff --git a/sd/source/ui/annotations/annotationwindow.cxx b/sd/source/ui/annotations/annotationwindow.cxx
index 78ed4d898651..186728414c66 100644
--- a/sd/source/ui/annotations/annotationwindow.cxx
+++ b/sd/source/ui/annotations/annotationwindow.cxx
@@ -285,8 +285,8 @@ AnnotationWindow::~AnnotationWindow()
 void AnnotationWindow::dispose()
 {
     mpMeta.disposeAndClear();
-    delete mpOutlinerView;
-    delete mpOutliner;
+    mpOutlinerView.reset();
+    mpOutliner.reset();
     mpOutliner = nullptr;
     mpVScrollbar.disposeAndClear();
     mpTextWindow.disposeAndClear();
@@ -316,8 +316,8 @@ void AnnotationWindow::InitControls()
     aSettings.SetStyleSettings(aStyleSettings);
     mpMeta->SetSettings(aSettings);
 
-    mpOutliner = new ::Outliner(GetAnnotationPool(),OutlinerMode::TextObject);
-    SdDrawDocument::SetCalcFieldValueHdl( mpOutliner );
+    mpOutliner.reset( new ::Outliner(GetAnnotationPool(),OutlinerMode::TextObject) );
+    SdDrawDocument::SetCalcFieldValueHdl( mpOutliner.get() );
     mpOutliner->SetUpdateMode( true );
     Rescale();
 
@@ -328,9 +328,9 @@ void AnnotationWindow::InitControls()
     }
 
     mpTextWindow->EnableRTL( false );
-    mpOutlinerView = new OutlinerView ( mpOutliner, mpTextWindow );
-    mpOutliner->InsertView(mpOutlinerView );
-    mpTextWindow->SetOutlinerView(mpOutlinerView);
+    mpOutlinerView.reset( new OutlinerView ( mpOutliner.get(), mpTextWindow ) );
+    mpOutliner->InsertView(mpOutlinerView.get() );
+    mpTextWindow->SetOutlinerView(mpOutlinerView.get());
     mpOutlinerView->SetOutputArea( PixelToLogic( ::tools::Rectangle(0,0,1,1) ) );
 
     //create Scrollbars
diff --git a/sd/source/ui/annotations/annotationwindow.hxx b/sd/source/ui/annotations/annotationwindow.hxx
index 14f61f2d3520..1cc15f36b1e8 100644
--- a/sd/source/ui/annotations/annotationwindow.hxx
+++ b/sd/source/ui/annotations/annotationwindow.hxx
@@ -78,8 +78,8 @@ class AnnotationWindow : public FloatingWindow
         DrawDocShell*           mpDocShell;
         SdDrawDocument*         mpDoc;
 
-        OutlinerView*           mpOutlinerView;
-        ::Outliner*             mpOutliner;
+        std::unique_ptr<OutlinerView> mpOutlinerView;
+        std::unique_ptr<::Outliner>   mpOutliner;
         VclPtr<ScrollBar>       mpVScrollbar;
         css::uno::Reference< css::office::XAnnotation > mxAnnotation;
         bool                    mbReadonly;
@@ -105,8 +105,8 @@ class AnnotationWindow : public FloatingWindow
         void ExecuteSlot( sal_uInt16 nSID );
 
         DrawDocShell*           DocShell()      { return mpDocShell; }
-        OutlinerView*           getView()       { return mpOutlinerView; }
-        ::Outliner*             Engine()        { return mpOutliner; }
+        OutlinerView*           getView()       { return mpOutlinerView.get(); }
+        ::Outliner*             Engine()        { return mpOutliner.get(); }
         SdDrawDocument*         Doc()           { return mpDoc; }
 
         long            GetPostItTextHeight();


More information about the Libreoffice-commits mailing list