[Libreoffice-commits] core.git: chart2/source include/svx sc/source sd/source svx/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Aug 15 09:27:47 UTC 2018


 chart2/source/controller/main/DragMethod_RotateDiagram.cxx |    6 
 include/svx/sdr/overlay/overlayobjectlist.hxx              |    6 
 include/svx/svddrgmt.hxx                                   |    2 
 sc/source/ui/view/gridwin.cxx                              |   40 +++---
 sc/source/ui/view/tabview3.cxx                             |    6 
 sd/source/ui/animations/motionpathtag.cxx                  |    4 
 sd/source/ui/annotations/annotationtag.cxx                 |    8 -
 sd/source/ui/view/viewoverlaymanager.cxx                   |    7 -
 svx/source/engine3d/dragmt3d.cxx                           |    6 
 svx/source/engine3d/view3d.cxx                             |   10 -
 svx/source/sdr/overlay/overlayobjectlist.cxx               |   16 +-
 svx/source/svdraw/svdcrtv.cxx                              |   24 +--
 svx/source/svdraw/svddrgmt.cxx                             |   14 +-
 svx/source/svdraw/svdedxv.cxx                              |    6 
 svx/source/svdraw/svdhdl.cxx                               |   84 ++++++-------
 svx/source/svdraw/svdmrkv.cxx                              |    6 
 svx/source/svdraw/svdsnpv.cxx                              |   12 -
 svx/source/svdraw/svdview.cxx                              |    6 
 svx/source/table/tablecontroller.cxx                       |    4 
 svx/source/table/tablehandles.cxx                          |   14 +-
 20 files changed, 139 insertions(+), 142 deletions(-)

New commits:
commit 18e20676024baecaf5719139f80f053f5f1e784a
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Mon Aug 13 16:16:12 2018 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Aug 15 11:27:20 2018 +0200

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

diff --git a/chart2/source/controller/main/DragMethod_RotateDiagram.cxx b/chart2/source/controller/main/DragMethod_RotateDiagram.cxx
index ccee914fdfbd..a2a46befe667 100644
--- a/chart2/source/controller/main/DragMethod_RotateDiagram.cxx
+++ b/chart2/source/controller/main/DragMethod_RotateDiagram.cxx
@@ -211,10 +211,10 @@ void DragMethod_RotateDiagram::CreateOverlayGeometry(sdr::overlay::OverlayManage
         // transform to 2D view coordinates
         aPolyPolygon.transform(rVCScene.getObjectTransformation());
 
-        sdr::overlay::OverlayPolyPolygonStripedAndFilled* pNew = new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
-            aPolyPolygon);
+        std::unique_ptr<sdr::overlay::OverlayPolyPolygonStripedAndFilled> pNew(new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+            aPolyPolygon));
         rOverlayManager.add(*pNew);
-        addToOverlayObjectList(pNew);
+        addToOverlayObjectList(std::move(pNew));
     }
 }
 } //namespace chart
diff --git a/include/svx/sdr/overlay/overlayobjectlist.hxx b/include/svx/sdr/overlay/overlayobjectlist.hxx
index 0774ac16e436..8044ae70147d 100644
--- a/include/svx/sdr/overlay/overlayobjectlist.hxx
+++ b/include/svx/sdr/overlay/overlayobjectlist.hxx
@@ -23,6 +23,8 @@
 #include <svx/sdr/overlay/overlayobject.hxx>
 #include <sal/types.h>
 #include <svx/svxdllapi.h>
+#include <memory>
+#include <vector>
 
 
 class Point;
@@ -34,7 +36,7 @@ namespace sdr
         class SVX_DLLPUBLIC OverlayObjectList final
         {
             // the vector of OverlayObjects
-            OverlayObjectVector                     maVector;
+            ::std::vector< std::unique_ptr<OverlayObject> > maVector;
 
         public:
             OverlayObjectList() {}
@@ -46,7 +48,7 @@ namespace sdr
             void clear();
 
             // append objects (takes ownership)
-            void append(OverlayObject* pOverlayObject);
+            void append(std::unique_ptr<OverlayObject> pOverlayObject);
 
             // access to objects
             sal_uInt32 count() const { return maVector.size(); }
diff --git a/include/svx/svddrgmt.hxx b/include/svx/svddrgmt.hxx
index b51769d0e740..e4a501429c53 100644
--- a/include/svx/svddrgmt.hxx
+++ b/include/svx/svddrgmt.hxx
@@ -130,7 +130,7 @@ protected:
     virtual void createSdrDragEntryForSdrObject(const SdrObject& rOriginal, sdr::contact::ObjectContact& rObjectContact);
 
     // access for derivated classes to maOverlayObjectList (passes ownership)
-    void addToOverlayObjectList(sdr::overlay::OverlayObject* pNew) { maOverlayObjectList.append(pNew); }
+    void addToOverlayObjectList(std::unique_ptr<sdr::overlay::OverlayObject> pNew) { maOverlayObjectList.append(std::move(pNew)); }
 
     // access for derivated classes to mrSdrDragView
     SdrDragView& getSdrDragView() { return mrSdrDragView; }
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 6106ca423a7f..21ca80104434 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -5840,9 +5840,9 @@ void ScGridWindow::UpdateCopySourceOverlay()
 
         tools::Rectangle aLogic = PixelToLogic(aRect, aDrawMode);
         ::basegfx::B2DRange aRange(aLogic.Left(), aLogic.Top(), aLogic.Right(), aLogic.Bottom());
-        ScOverlayDashedBorder* pDashedBorder = new ScOverlayDashedBorder(aRange, aHighlight);
+        std::unique_ptr<ScOverlayDashedBorder> pDashedBorder(new ScOverlayDashedBorder(aRange, aHighlight));
         xOverlayManager->add(*pDashedBorder);
-        mpOOSelectionBorder->append(pDashedBorder);
+        mpOOSelectionBorder->append(std::move(pDashedBorder));
     }
 
     if ( aOldMode != aDrawMode )
@@ -6052,15 +6052,15 @@ void ScGridWindow::UpdateCursorOverlay()
                     aRanges.push_back(aRB);
                 }
 
-                sdr::overlay::OverlayObject* pOverlay = new sdr::overlay::OverlaySelection(
+                std::unique_ptr<sdr::overlay::OverlayObject> pOverlay(new sdr::overlay::OverlaySelection(
                     sdr::overlay::OverlayType::Solid,
                     aCursorColor,
                     aRanges,
-                    false);
+                    false));
 
                 xOverlayManager->add(*pOverlay);
                 mpOOCursors.reset(new sdr::overlay::OverlayObjectList);
-                mpOOCursors->append(pOverlay);
+                mpOOCursors->append(std::move(pOverlay));
             }
         }
     }
@@ -6129,15 +6129,15 @@ void ScGridWindow::UpdateSelectionOverlay()
             const SvtOptionsDrawinglayer aSvtOptionsDrawinglayer;
             const Color aHighlight(aSvtOptionsDrawinglayer.getHilightColor());
 
-            sdr::overlay::OverlayObject* pOverlay = new sdr::overlay::OverlaySelection(
+            std::unique_ptr<sdr::overlay::OverlayObject> pOverlay(new sdr::overlay::OverlaySelection(
                 sdr::overlay::OverlayType::Transparent,
                 aHighlight,
                 aRanges,
-                true);
+                true));
 
             xOverlayManager->add(*pOverlay);
             mpOOSelection.reset(new sdr::overlay::OverlayObjectList);
-            mpOOSelection->append(pOverlay);
+            mpOOSelection->append(std::move(pOverlay));
         }
     }
     else
@@ -6223,15 +6223,15 @@ void ScGridWindow::UpdateAutoFillOverlay()
             aRB.transform(aTransform);
             aRanges.push_back(aRB);
 
-            sdr::overlay::OverlayObject* pOverlay = new sdr::overlay::OverlaySelection(
+            std::unique_ptr<sdr::overlay::OverlayObject> pOverlay(new sdr::overlay::OverlaySelection(
                 sdr::overlay::OverlayType::Solid,
                 aHandleColor,
                 aRanges,
-                false);
+                false));
 
             xOverlayManager->add(*pOverlay);
             mpOOAutoFill.reset(new sdr::overlay::OverlayObjectList);
-            mpOOAutoFill->append(pOverlay);
+            mpOOAutoFill->append(std::move(pOverlay));
         }
 
         if ( aOldMode != aDrawMode )
@@ -6350,15 +6350,15 @@ void ScGridWindow::UpdateDragRectOverlay()
                 aRanges.push_back(aRB);
             }
 
-            sdr::overlay::OverlayObject* pOverlay = new sdr::overlay::OverlaySelection(
+            std::unique_ptr<sdr::overlay::OverlayObject> pOverlay(new sdr::overlay::OverlaySelection(
                 sdr::overlay::OverlayType::Invert,
                 COL_BLACK,
                 aRanges,
-                false);
+                false));
 
             xOverlayManager->add(*pOverlay);
             mpOODragRect.reset(new sdr::overlay::OverlayObjectList);
-            mpOODragRect->append(pOverlay);
+            mpOODragRect->append(std::move(pOverlay));
         }
     }
 
@@ -6396,15 +6396,15 @@ void ScGridWindow::UpdateHeaderOverlay()
             aRB.transform(aTransform);
             aRanges.push_back(aRB);
 
-            sdr::overlay::OverlayObject* pOverlay = new sdr::overlay::OverlaySelection(
+            std::unique_ptr<sdr::overlay::OverlayObject> pOverlay(new sdr::overlay::OverlaySelection(
                 sdr::overlay::OverlayType::Invert,
                 COL_BLACK,
                 aRanges,
-                false);
+                false));
 
             xOverlayManager->add(*pOverlay);
             mpOOHeader.reset(new sdr::overlay::OverlayObjectList);
-            mpOOHeader->append(pOverlay);
+            mpOOHeader->append(std::move(pOverlay));
         }
     }
 
@@ -6463,15 +6463,15 @@ void ScGridWindow::UpdateShrinkOverlay()
             aRB.transform(aTransform);
             aRanges.push_back(aRB);
 
-            sdr::overlay::OverlayObject* pOverlay = new sdr::overlay::OverlaySelection(
+            std::unique_ptr<sdr::overlay::OverlayObject> pOverlay(new sdr::overlay::OverlaySelection(
                 sdr::overlay::OverlayType::Invert,
                 COL_BLACK,
                 aRanges,
-                false);
+                false));
 
             xOverlayManager->add(*pOverlay);
             mpOOShrink.reset(new sdr::overlay::OverlayObjectList);
-            mpOOShrink->append(pOverlay);
+            mpOOShrink->append(std::move(pOverlay));
         }
     }
 
diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx
index cdcd17fdea5e..7002d8bebc3f 100644
--- a/sc/source/ui/view/tabview3.cxx
+++ b/sc/source/ui/view/tabview3.cxx
@@ -784,7 +784,7 @@ void ScTabView::TestHintWindow()
                 ScOverlayHint* pOverlay = new ScOverlayHint(aTitle, aMessage, aCommentColor, pFrameWin->GetFont());
 
                 mxInputHintOO.reset(new sdr::overlay::OverlayObjectList);
-                mxInputHintOO->append(pOverlay);
+                mxInputHintOO->append(std::unique_ptr<sdr::overlay::OverlayObject>(pOverlay));
 
                 Size aHintWndSize = pOverlay->GetSizePixel();
                 long nCellSizeX = 0;
@@ -815,11 +815,11 @@ void ScTabView::TestHintWindow()
                         //missing portions will be displayed in the other split windows to form an apparent
                         //single tip, albeit "under" the split lines
                         Point aOtherPos(pWindow->ScreenToOutputPixel(pWin->OutputToScreenPixel(aHintPos)));
-                        ScOverlayHint* pOtherOverlay = new ScOverlayHint(aTitle, aMessage, aCommentColor, pFrameWin->GetFont());
+                        std::unique_ptr<ScOverlayHint> pOtherOverlay(new ScOverlayHint(aTitle, aMessage, aCommentColor, pFrameWin->GetFont()));
                         Point aFooPos(pWindow->PixelToLogic(aOtherPos, pWindow->GetDrawMapMode()));
                         pOtherOverlay->SetPos(aFooPos, pWindow->GetDrawMapMode());
-                        mxInputHintOO->append(pOtherOverlay);
                         xOverlayManager->add(*pOtherOverlay);
+                        mxInputHintOO->append(std::move(pOtherOverlay));
                     }
                 }
             }
diff --git a/sd/source/ui/animations/motionpathtag.cxx b/sd/source/ui/animations/motionpathtag.cxx
index 2e5bb8cb52de..0a6a5ca6e94b 100644
--- a/sd/source/ui/animations/motionpathtag.cxx
+++ b/sd/source/ui/animations/motionpathtag.cxx
@@ -288,10 +288,10 @@ void SdPathHdl::CreateB2dIAObject()
                         {
                             const sdr::contact::ViewContact& rVC = mpPathObj->GetViewContact();
                             const drawinglayer::primitive2d::Primitive2DContainer aSequence = rVC.getViewIndependentPrimitive2DContainer();
-                            sdr::overlay::OverlayObject* pNew = new sdr::overlay::OverlayPrimitive2DSequenceObject(aSequence);
+                            std::unique_ptr<sdr::overlay::OverlayObject> pNew(new sdr::overlay::OverlayPrimitive2DSequenceObject(aSequence));
 
                             xManager->add(*pNew);
-                            maOverlayGroup.append(pNew);
+                            maOverlayGroup.append(std::move(pNew));
                         }
                     }
                 }
diff --git a/sd/source/ui/annotations/annotationtag.cxx b/sd/source/ui/annotations/annotationtag.cxx
index 2572ea40b0b2..99e37fd59c8a 100644
--- a/sd/source/ui/annotations/annotationtag.cxx
+++ b/sd/source/ui/annotations/annotationtag.cxx
@@ -210,22 +210,22 @@ void AnnotationHdl::CreateB2dIAObject()
                         rtl::Reference< sdr::overlay::OverlayManager > xManager = rPageWindow.GetOverlayManager();
                         if(rPaintWindow.OutputToWindow() && xManager.is() )
                         {
-                            sdr::overlay::OverlayObject* pOverlayObject = nullptr;
+                            std::unique_ptr<sdr::overlay::OverlayObject> pOverlayObject;
 
                             // animate focused handles
                             if(bFocused)
                             {
                                 const sal_uInt64 nBlinkTime = rStyleSettings.GetCursorBlinkTime();
 
-                                pOverlayObject = new sdr::overlay::OverlayAnimatedBitmapEx(aPosition, aBitmapEx, aBitmapEx2, nBlinkTime, 0, 0, 0, 0 );
+                                pOverlayObject.reset(new sdr::overlay::OverlayAnimatedBitmapEx(aPosition, aBitmapEx, aBitmapEx2, nBlinkTime, 0, 0, 0, 0 ));
                             }
                             else
                             {
-                                pOverlayObject = new sdr::overlay::OverlayBitmapEx( aPosition, aBitmapEx, 0, 0 );
+                                pOverlayObject.reset(new sdr::overlay::OverlayBitmapEx( aPosition, aBitmapEx, 0, 0 ));
                             }
 
                             xManager->add(*pOverlayObject);
-                            maOverlayGroup.append(pOverlayObject);
+                            maOverlayGroup.append(std::move(pOverlayObject));
                         }
                     }
                 }
diff --git a/sd/source/ui/view/viewoverlaymanager.cxx b/sd/source/ui/view/viewoverlaymanager.cxx
index c65380d83d7d..0e3b48ca369a 100644
--- a/sd/source/ui/view/viewoverlaymanager.cxx
+++ b/sd/source/ui/view/viewoverlaymanager.cxx
@@ -245,11 +245,10 @@ void ImageButtonHdl::CreateB2dIAObject()
                     rtl::Reference< sdr::overlay::OverlayManager > xManager = rPageWindow.GetOverlayManager();
                     if(rPaintWindow.OutputToWindow() && xManager.is() )
                     {
-                        sdr::overlay::OverlayObject* pOverlayObject = nullptr;
-
-                        pOverlayObject = new sdr::overlay::OverlayBitmapEx( aPosition, aBitmapEx, 0, 0 );
+                        std::unique_ptr<sdr::overlay::OverlayObject> pOverlayObject(
+                            new sdr::overlay::OverlayBitmapEx( aPosition, aBitmapEx, 0, 0 ));
                         xManager->add(*pOverlayObject);
-                        maOverlayGroup.append(pOverlayObject);
+                        maOverlayGroup.append(std::move(pOverlayObject));
                     }
                 }
             }
diff --git a/svx/source/engine3d/dragmt3d.cxx b/svx/source/engine3d/dragmt3d.cxx
index dd53fed14666..f03ef825a3c5 100644
--- a/svx/source/engine3d/dragmt3d.cxx
+++ b/svx/source/engine3d/dragmt3d.cxx
@@ -248,10 +248,10 @@ void E3dDragMethod::CreateOverlayGeometry(sdr::overlay::OverlayManager& rOverlay
 
     if(aResult.count())
     {
-        sdr::overlay::OverlayPolyPolygonStripedAndFilled* pNew = new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
-            aResult);
+        std::unique_ptr<sdr::overlay::OverlayPolyPolygonStripedAndFilled> pNew(new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+            aResult));
         rOverlayManager.add(*pNew);
-        addToOverlayObjectList(pNew);
+        addToOverlayObjectList(std::move(pNew));
     }
 }
 
diff --git a/svx/source/engine3d/view3d.cxx b/svx/source/engine3d/view3d.cxx
index a048fce616d3..e976aab5962d 100644
--- a/svx/source/engine3d/view3d.cxx
+++ b/svx/source/engine3d/view3d.cxx
@@ -200,10 +200,10 @@ void Impl3DMirrorConstructOverlay::SetMirrorAxis(Point aMirrorAxisA, Point aMirr
                     drawinglayer::primitive2d::Primitive2DReference aUnifiedTransparencePrimitive2D(new drawinglayer::primitive2d::UnifiedTransparencePrimitive2D(aContent, 0.5));
                     aContent = drawinglayer::primitive2d::Primitive2DContainer { aUnifiedTransparencePrimitive2D };
 
-                    sdr::overlay::OverlayPrimitive2DSequenceObject* pNew = new sdr::overlay::OverlayPrimitive2DSequenceObject(aContent);
+                    std::unique_ptr<sdr::overlay::OverlayPrimitive2DSequenceObject> pNew(new sdr::overlay::OverlayPrimitive2DSequenceObject(aContent));
 
                     xTargetOverlay->add(*pNew);
-                    maObjects.append(pNew);
+                    maObjects.append(std::move(pNew));
                 }
             }
             else
@@ -214,10 +214,10 @@ void Impl3DMirrorConstructOverlay::SetMirrorAxis(Point aMirrorAxisA, Point aMirr
                     basegfx::B2DPolyPolygon aPolyPolygon(mpPolygons[b]);
                     aPolyPolygon.transform(aMatrixTransform);
 
-                    sdr::overlay::OverlayPolyPolygonStripedAndFilled* pNew = new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
-                        aPolyPolygon);
+                    std::unique_ptr<sdr::overlay::OverlayPolyPolygonStripedAndFilled> pNew(new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+                        aPolyPolygon));
                     xTargetOverlay->add(*pNew);
-                    maObjects.append(pNew);
+                    maObjects.append(std::move(pNew));
                 }
             }
         }
diff --git a/svx/source/sdr/overlay/overlayobjectlist.cxx b/svx/source/sdr/overlay/overlayobjectlist.cxx
index 706bc692c6e6..8b92e076eda2 100644
--- a/svx/source/sdr/overlay/overlayobjectlist.cxx
+++ b/svx/source/sdr/overlay/overlayobjectlist.cxx
@@ -41,27 +41,25 @@ namespace sdr
 
         void OverlayObjectList::clear()
         {
-            for(OverlayObject* pCandidate : maVector)
+            for(auto & pCandidate : maVector)
             {
                 if(pCandidate->getOverlayManager())
                     pCandidate->getOverlayManager()->remove(*pCandidate);
-
-                delete pCandidate;
             }
             maVector.clear();
         }
 
-        void OverlayObjectList::append(OverlayObject* pOverlayObject)
+        void OverlayObjectList::append(std::unique_ptr<OverlayObject> pOverlayObject)
         {
             assert(pOverlayObject && "tried to add invalid OverlayObject to OverlayObjectList");
-            maVector.push_back(pOverlayObject);
+            maVector.push_back(std::move(pOverlayObject));
         }
 
         bool OverlayObjectList::isHitLogic(const basegfx::B2DPoint& rLogicPosition, double fLogicTolerance) const
         {
             if(!maVector.empty())
             {
-                OverlayObject* pFirst = maVector.front();
+                OverlayObject* pFirst = maVector.front().get();
                 OverlayManager* pManager = pFirst->getOverlayManager();
 
                 if(pManager)
@@ -89,7 +87,7 @@ namespace sdr
                         fLogicTolerance,
                         false);
 
-                    for(OverlayObject* pCandidate : maVector)
+                    for(auto & pCandidate : maVector)
                     {
                         if(pCandidate->isHittable())
                         {
@@ -117,7 +115,7 @@ namespace sdr
             sal_uInt32 nDiscreteTolerance = DEFAULT_VALUE_FOR_HITTEST_PIXEL;
             if(!maVector.empty())
             {
-                OverlayObject* pCandidate = maVector.front();
+                OverlayObject* pCandidate = maVector.front().get();
                 OverlayManager* pManager = pCandidate->getOverlayManager();
 
                 if(pManager)
@@ -137,7 +135,7 @@ namespace sdr
         {
             basegfx::B2DRange aRetval;
 
-            for(OverlayObject* pCandidate : maVector)
+            for(auto & pCandidate : maVector)
             {
                 aRetval.expand(pCandidate->getBaseRange());
             }
diff --git a/svx/source/svdraw/svdcrtv.cxx b/svx/source/svdraw/svdcrtv.cxx
index fac7c2a28245..051866a9b27d 100644
--- a/svx/source/svdraw/svdcrtv.cxx
+++ b/svx/source/svdraw/svdcrtv.cxx
@@ -77,10 +77,10 @@ ImplConnectMarkerOverlay::ImplConnectMarkerOverlay(const SdrCreateView& rView, S
             Size aHalfLogicSize(xTargetOverlay->getOutputDevice().PixelToLogic(Size(4 * fScalingFactor, 4 * fScalingFactor)));
 
             // object
-            sdr::overlay::OverlayPolyPolygonStripedAndFilled* pNew = new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
-                aB2DPolyPolygon);
+            std::unique_ptr<sdr::overlay::OverlayPolyPolygonStripedAndFilled> pNew(new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+                aB2DPolyPolygon));
             xTargetOverlay->add(*pNew);
-            maObjects.append(pNew);
+            maObjects.append(std::move(pNew));
 
             // glue points
             for(sal_uInt16 i(0); i < 4; i++)
@@ -101,10 +101,10 @@ ImplConnectMarkerOverlay::ImplConnectMarkerOverlay(const SdrCreateView& rView, S
                 basegfx::B2DPolyPolygon aTempPolyPoly;
                 aTempPolyPoly.append(aTempPoly);
 
-                pNew = new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
-                    aTempPolyPoly);
-                xTargetOverlay->add(*pNew);
-                maObjects.append(pNew);
+                std::unique_ptr<sdr::overlay::OverlayPolyPolygonStripedAndFilled> pNew2(new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+                    aTempPolyPoly));
+                xTargetOverlay->add(*pNew2);
+                maObjects.append(std::move(pNew2));
             }
         }
     }
@@ -145,18 +145,18 @@ void ImpSdrCreateViewExtraData::CreateAndShowOverlay(const SdrCreateView& rView,
             {
                 const sdr::contact::ViewContact& rVC = pObject->GetViewContact();
                 const drawinglayer::primitive2d::Primitive2DContainer aSequence = rVC.getViewIndependentPrimitive2DContainer();
-                sdr::overlay::OverlayObject* pNew = new sdr::overlay::OverlayPrimitive2DSequenceObject(aSequence);
+                std::unique_ptr<sdr::overlay::OverlayObject> pNew(new sdr::overlay::OverlayPrimitive2DSequenceObject(aSequence));
 
                 xOverlayManager->add(*pNew);
-                maObjects.append(pNew);
+                maObjects.append(std::move(pNew));
             }
 
             if(rPolyPoly.count())
             {
-                sdr::overlay::OverlayPolyPolygonStripedAndFilled* pNew = new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
-                    rPolyPoly);
+                std::unique_ptr<sdr::overlay::OverlayPolyPolygonStripedAndFilled> pNew(new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+                    rPolyPoly));
                 xOverlayManager->add(*pNew);
-                maObjects.append(pNew);
+                maObjects.append(std::move(pNew));
             }
         }
     }
diff --git a/svx/source/svdraw/svddrgmt.cxx b/svx/source/svdraw/svddrgmt.cxx
index 46dfcc322ab7..30269bf5344b 100644
--- a/svx/source/svdraw/svddrgmt.cxx
+++ b/svx/source/svdraw/svddrgmt.cxx
@@ -769,9 +769,9 @@ void SdrDragMethod::CreateOverlayGeometry(sdr::overlay::OverlayManager& rOverlay
 
         if(!aResult.empty())
         {
-            sdr::overlay::OverlayObject* pNewOverlayObject = new sdr::overlay::OverlayPrimitive2DSequenceObject(aResult);
+            std::unique_ptr<sdr::overlay::OverlayObject> pNewOverlayObject(new sdr::overlay::OverlayPrimitive2DSequenceObject(aResult));
             rOverlayManager.add(*pNewOverlayObject);
-            addToOverlayObjectList(pNewOverlayObject);
+            addToOverlayObjectList(std::move(pNewOverlayObject));
         }
 
         if(!aResultTransparent.empty())
@@ -779,9 +779,9 @@ void SdrDragMethod::CreateOverlayGeometry(sdr::overlay::OverlayManager& rOverlay
             drawinglayer::primitive2d::Primitive2DReference aUnifiedTransparencePrimitive2D(new drawinglayer::primitive2d::UnifiedTransparencePrimitive2D(aResultTransparent, 0.5));
             aResultTransparent = drawinglayer::primitive2d::Primitive2DContainer { aUnifiedTransparencePrimitive2D };
 
-            sdr::overlay::OverlayObject* pNewOverlayObject = new sdr::overlay::OverlayPrimitive2DSequenceObject(aResultTransparent);
+            std::unique_ptr<sdr::overlay::OverlayObject> pNewOverlayObject(new sdr::overlay::OverlayPrimitive2DSequenceObject(aResultTransparent));
             rOverlayManager.add(*pNewOverlayObject);
-            addToOverlayObjectList(pNewOverlayObject);
+            addToOverlayObjectList(std::move(pNewOverlayObject));
         }
     }
 
@@ -793,11 +793,11 @@ void SdrDragMethod::CreateOverlayGeometry(sdr::overlay::OverlayManager& rOverlay
 
         const basegfx::B2DPoint aTopLeft(aActionRectangle.Left(), aActionRectangle.Top());
         const basegfx::B2DPoint aBottomRight(aActionRectangle.Right(), aActionRectangle.Bottom());
-        sdr::overlay::OverlayRollingRectangleStriped* pNew = new sdr::overlay::OverlayRollingRectangleStriped(
-            aTopLeft, aBottomRight, true, false);
+        std::unique_ptr<sdr::overlay::OverlayRollingRectangleStriped> pNew(new sdr::overlay::OverlayRollingRectangleStriped(
+            aTopLeft, aBottomRight, true, false));
 
         rOverlayManager.add(*pNew);
-        addToOverlayObjectList(pNew);
+        addToOverlayObjectList(std::move(pNew));
     }
 }
 
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index e6616c0247e0..bfe91b5268b8 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -1190,15 +1190,15 @@ bool SdrObjEditView::SdrBeginTextEdit(
                             rtl::Reference< sdr::overlay::OverlayManager > xManager = rPageWindow.GetOverlayManager();
                             if (xManager.is())
                             {
-                                TextEditOverlayObject* pNewTextEditOverlayObject = new TextEditOverlayObject(
+                                std::unique_ptr<TextEditOverlayObject> pNewTextEditOverlayObject(new TextEditOverlayObject(
                                     aHilightColor,
                                     *pTextEditOutlinerView,
-                                    bVisualizeSurroundingFrame);
+                                    bVisualizeSurroundingFrame));
 
                                 xManager->add(*pNewTextEditOverlayObject);
                                 xManager->add(const_cast<sdr::overlay::OverlaySelection&>(*pNewTextEditOverlayObject->getOverlaySelection()));
 
-                                maTEOverlayGroup.append(pNewTextEditOverlayObject);
+                                maTEOverlayGroup.append(std::move(pNewTextEditOverlayObject));
                             }
                         }
                     }
diff --git a/svx/source/svdraw/svdhdl.cxx b/svx/source/svdraw/svdhdl.cxx
index 68052c193e7f..a0b0291e02b0 100644
--- a/svx/source/svdraw/svdhdl.cxx
+++ b/svx/source/svdraw/svdhdl.cxx
@@ -565,7 +565,7 @@ void SdrHdl::CreateB2dIAObject()
                     if (xManager.is())
                     {
                         basegfx::B2DPoint aPosition(aPos.X(), aPos.Y());
-                        sdr::overlay::OverlayObject* pNewOverlayObject = nullptr;
+                        std::unique_ptr<sdr::overlay::OverlayObject> pNewOverlayObject;
                         if (getenv ("SVX_DRAW_HANDLES") && (eKindOfMarker == BitmapMarkerKind::Rect_7x7 || eKindOfMarker == BitmapMarkerKind::Rect_9x9 || eKindOfMarker == BitmapMarkerKind::Rect_11x11))
                         {
                             double fSize = 7.0;
@@ -604,19 +604,19 @@ void SdrHdl::CreateB2dIAObject()
                                 default:
                                     break;
                             }
-                            pNewOverlayObject = new sdr::overlay::OverlayHandle(aPosition, aB2DSize, /*HandleStrokeColor*/COL_BLACK, aHandleFillColor);
+                            pNewOverlayObject.reset(new sdr::overlay::OverlayHandle(aPosition, aB2DSize, /*HandleStrokeColor*/COL_BLACK, aHandleFillColor));
                         }
                         else
                         {
-                            pNewOverlayObject = CreateOverlayObject(
+                            pNewOverlayObject.reset(CreateOverlayObject(
                                                     aPosition, eColIndex, eKindOfMarker,
-                                                    aMoveOutsideOffset);
+                                                    aMoveOutsideOffset));
                         }
                         // OVERLAYMANAGER
                         if (pNewOverlayObject)
                         {
                             xManager->add(*pNewOverlayObject);
-                            maOverlayGroup.append(pNewOverlayObject);
+                            maOverlayGroup.append(std::move(pNewOverlayObject));
                         }
                     }
                 }
@@ -1112,17 +1112,17 @@ void SdrHdlColor::CreateB2dIAObject()
                         {
                             BitmapEx aBmpCol(CreateColorDropper(aMarkerColor));
                             basegfx::B2DPoint aPosition(aPos.X(), aPos.Y());
-                            sdr::overlay::OverlayObject* pNewOverlayObject = new
+                            std::unique_ptr<sdr::overlay::OverlayObject> pNewOverlayObject(new
                                 sdr::overlay::OverlayBitmapEx(
                                     aPosition,
                                     aBmpCol,
                                     static_cast<sal_uInt16>(aBmpCol.GetSizePixel().Width() - 1) >> 1,
                                     static_cast<sal_uInt16>(aBmpCol.GetSizePixel().Height() - 1) >> 1
-                                );
+                                ));
 
                             // OVERLAYMANAGER
                             xManager->add(*pNewOverlayObject);
-                            maOverlayGroup.append(pNewOverlayObject);
+                            maOverlayGroup.append(std::move(pNewOverlayObject));
                         }
                     }
                 }
@@ -1274,15 +1274,14 @@ void SdrHdlGradient::CreateB2dIAObject()
                             basegfx::B2DPoint aPosition(aPos.X(), aPos.Y());
                             basegfx::B2DPoint aMidPos(aMidPoint.X(), aMidPoint.Y());
 
-                            sdr::overlay::OverlayObject* pNewOverlayObject = new
+                            std::unique_ptr<sdr::overlay::OverlayObject> pNewOverlayObject(new
                                 sdr::overlay::OverlayLineStriped(
                                     aPosition, aMidPos
-                                );
-                            DBG_ASSERT(pNewOverlayObject, "Got NO new IAO!");
+                                ));
 
                             pNewOverlayObject->setBaseColor(IsGradient() ? COL_BLACK : COL_BLUE);
                             xManager->add(*pNewOverlayObject);
-                            maOverlayGroup.append(pNewOverlayObject);
+                            maOverlayGroup.append(std::move(pNewOverlayObject));
 
                             // arrowhead
                             Point aLeft(aMidPoint.X() + static_cast<sal_Int32>(aPerpend.getX() * fHalfArrowWidth),
@@ -1294,17 +1293,16 @@ void SdrHdlGradient::CreateB2dIAObject()
                             basegfx::B2DPoint aPositionRight(aRight.X(), aRight.Y());
                             basegfx::B2DPoint aPosition2(a2ndPos.X(), a2ndPos.Y());
 
-                            pNewOverlayObject = new
+                            pNewOverlayObject.reset(new
                                 sdr::overlay::OverlayTriangle(
                                     aPositionLeft,
                                     aPosition2,
                                     aPositionRight,
                                     IsGradient() ? COL_BLACK : COL_BLUE
-                                );
-                            DBG_ASSERT(pNewOverlayObject, "Got NO new IAO!");
+                                ));
 
                             xManager->add(*pNewOverlayObject);
-                            maOverlayGroup.append(pNewOverlayObject);
+                            maOverlayGroup.append(std::move(pNewOverlayObject));
                         }
                     }
                 }
@@ -1421,18 +1419,18 @@ void SdrHdlLine::CreateB2dIAObject()
                             basegfx::B2DPoint aPosition1(pHdl1->GetPos().X(), pHdl1->GetPos().Y());
                             basegfx::B2DPoint aPosition2(pHdl2->GetPos().X(), pHdl2->GetPos().Y());
 
-                            sdr::overlay::OverlayObject* pNewOverlayObject = new
+                            std::unique_ptr<sdr::overlay::OverlayObject> pNewOverlayObject(new
                                 sdr::overlay::OverlayLineStriped(
                                     aPosition1,
                                     aPosition2
-                                );
+                                ));
 
                             // OVERLAYMANAGER
                             // color(?)
                             pNewOverlayObject->setBaseColor(COL_LIGHTRED);
 
                             xManager->add(*pNewOverlayObject);
-                            maOverlayGroup.append(pNewOverlayObject);
+                            maOverlayGroup.append(std::move(pNewOverlayObject));
                         }
                     }
                 }
@@ -1479,11 +1477,11 @@ void SdrHdlBezWgt::CreateB2dIAObject()
 
                             if(!aPosition1.equal(aPosition2))
                             {
-                                sdr::overlay::OverlayObject* pNewOverlayObject = new
+                                std::unique_ptr<sdr::overlay::OverlayObject> pNewOverlayObject(new
                                     sdr::overlay::OverlayLineStriped(
                                         aPosition1,
                                         aPosition2
-                                    );
+                                    ));
                                 // OVERLAYMANAGER
                                 // line part is not hittable
                                 pNewOverlayObject->setHittable(false);
@@ -1492,7 +1490,7 @@ void SdrHdlBezWgt::CreateB2dIAObject()
                                 pNewOverlayObject->setBaseColor(COL_LIGHTBLUE);
 
                                 xManager->add(*pNewOverlayObject);
-                                maOverlayGroup.append(pNewOverlayObject);
+                                maOverlayGroup.append(std::move(pNewOverlayObject));
                             }
                         }
                     }
@@ -1530,15 +1528,15 @@ void E3dVolumeMarker::CreateB2dIAObject()
                         rtl::Reference< sdr::overlay::OverlayManager > xManager = rPageWindow.GetOverlayManager();
                         if (xManager.is() && aWireframePoly.count())
                         {
-                            sdr::overlay::OverlayObject* pNewOverlayObject = new
-                            sdr::overlay::OverlayPolyPolygonStripedAndFilled(
-                                aWireframePoly);
+                            std::unique_ptr<sdr::overlay::OverlayObject> pNewOverlayObject(new
+                                sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+                                    aWireframePoly));
 
                             // OVERLAYMANAGER
                             pNewOverlayObject->setBaseColor(COL_BLACK);
 
                             xManager->add(*pNewOverlayObject);
-                            maOverlayGroup.append(pNewOverlayObject);
+                            maOverlayGroup.append(std::move(pNewOverlayObject));
                         }
                     }
                 }
@@ -1593,16 +1591,16 @@ void ImpEdgeHdl::CreateB2dIAObject()
                             if (xManager.is())
                             {
                                 basegfx::B2DPoint aPosition(aPos.X(), aPos.Y());
-                                sdr::overlay::OverlayObject* pNewOverlayObject = CreateOverlayObject(
+                                std::unique_ptr<sdr::overlay::OverlayObject> pNewOverlayObject(CreateOverlayObject(
                                     aPosition,
                                     eColIndex,
-                                    eKindOfMarker);
+                                    eKindOfMarker));
 
                                 // OVERLAYMANAGER
                                 if (pNewOverlayObject)
                                 {
                                     xManager->add(*pNewOverlayObject);
-                                    maOverlayGroup.append(pNewOverlayObject);
+                                    maOverlayGroup.append(std::move(pNewOverlayObject));
                                 }
                             }
                         }
@@ -1709,16 +1707,16 @@ void ImpMeasureHdl::CreateB2dIAObject()
                         if (xManager.is())
                         {
                             basegfx::B2DPoint aPosition(aPos.X(), aPos.Y());
-                            sdr::overlay::OverlayObject* pNewOverlayObject = CreateOverlayObject(
+                            std::unique_ptr<sdr::overlay::OverlayObject> pNewOverlayObject(CreateOverlayObject(
                                 aPosition,
                                 eColIndex,
-                                eKindOfMarker);
+                                eKindOfMarker));
 
                             // OVERLAYMANAGER
                             if (pNewOverlayObject)
                             {
                                 xManager->add(*pNewOverlayObject);
-                                maOverlayGroup.append(pNewOverlayObject);
+                                maOverlayGroup.append(std::move(pNewOverlayObject));
                             }
                         }
                     }
@@ -1776,7 +1774,7 @@ void ImpTextframeHdl::CreateB2dIAObject()
                             const Color aHilightColor(aSvtOptionsDrawinglayer.getHilightColor());
                             const double fTransparence(aSvtOptionsDrawinglayer.GetTransparentSelectionPercent() * 0.01);
 
-                            sdr::overlay::OverlayRectangle* pNewOverlayObject = new sdr::overlay::OverlayRectangle(
+                            std::unique_ptr<sdr::overlay::OverlayRectangle> pNewOverlayObject(new sdr::overlay::OverlayRectangle(
                                 aTopLeft,
                                 aBottomRight,
                                 aHilightColor,
@@ -1784,12 +1782,12 @@ void ImpTextframeHdl::CreateB2dIAObject()
                                 3.0,
                                 3.0,
                                 nRotationAngle * -F_PI18000,
-                                true); // allow animation; the Handle is not shown at text edit time
+                                true)); // allow animation; the Handle is not shown at text edit time
 
                             // OVERLAYMANAGER
                             pNewOverlayObject->setHittable(false);
                             xManager->add(*pNewOverlayObject);
-                            maOverlayGroup.append(pNewOverlayObject);
+                            maOverlayGroup.append(std::move(pNewOverlayObject));
                         }
                     }
                 }
@@ -2364,7 +2362,7 @@ void SdrCropHdl::CreateB2dIAObject()
                 {
                     basegfx::B2DPoint aPosition(aPos.X(), aPos.Y());
 
-                    sdr::overlay::OverlayObject* pOverlayObject = nullptr;
+                    std::unique_ptr<sdr::overlay::OverlayObject> pOverlayObject;
 
                     // animate focused handles
                     if(IsFocusHdl() && (pHdlList->GetFocusHdl() == this))
@@ -2376,7 +2374,7 @@ void SdrCropHdl::CreateB2dIAObject()
 
                         const sal_uInt64 nBlinkTime = rStyleSettings.GetCursorBlinkTime();
 
-                        pOverlayObject = new sdr::overlay::OverlayAnimatedBitmapEx(
+                        pOverlayObject.reset(new sdr::overlay::OverlayAnimatedBitmapEx(
                             aPosition,
                             aBmpEx1,
                             aBmpEx2,
@@ -2386,26 +2384,26 @@ void SdrCropHdl::CreateB2dIAObject()
                             static_cast<sal_uInt16>(aBmpEx2.GetSizePixel().Width() - 1) >> 1,
                             static_cast<sal_uInt16>(aBmpEx2.GetSizePixel().Height() - 1) >> 1,
                             mfShearX,
-                            mfRotation);
+                            mfRotation));
                     }
                     else
                     {
                         // create centered handle as default
-                        pOverlayObject = new sdr::overlay::OverlayBitmapEx(
+                        pOverlayObject.reset(new sdr::overlay::OverlayBitmapEx(
                             aPosition,
                             aBmpEx1,
                             static_cast<sal_uInt16>(aBmpEx1.GetSizePixel().Width() - 1) >> 1,
                             static_cast<sal_uInt16>(aBmpEx1.GetSizePixel().Height() - 1) >> 1,
                             0.0,
                             mfShearX,
-                            mfRotation);
+                            mfRotation));
                     }
 
                     // OVERLAYMANAGER
                     if(pOverlayObject)
                     {
                         xManager->add(*pOverlayObject);
-                        maOverlayGroup.append(pOverlayObject);
+                        maOverlayGroup.append(std::move(pOverlayObject));
                     }
                 }
             }
@@ -2613,13 +2611,13 @@ void SdrCropViewHdl::CreateB2dIAObject()
             rtl::Reference< sdr::overlay::OverlayManager > xManager = rPageWindow.GetOverlayManager();
             if(xManager.is())
             {
-                sdr::overlay::OverlayObject* pNew = new sdr::overlay::OverlayPrimitive2DSequenceObject(aSequence);
+                std::unique_ptr<sdr::overlay::OverlayObject> pNew(new sdr::overlay::OverlayPrimitive2DSequenceObject(aSequence));
 
                 // only informative object, no hit
                 pNew->setHittable(false);
 
                 xManager->add(*pNew);
-                maOverlayGroup.append(pNew);
+                maOverlayGroup.append(std::move(pNew));
             }
         }
     }
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index c4eca039c19d..084d936e1baa 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -94,10 +94,10 @@ ImplMarkingOverlay::ImplMarkingOverlay(const SdrPaintView& rView, const basegfx:
 
         if (xTargetOverlay.is())
         {
-            sdr::overlay::OverlayRollingRectangleStriped* pNew = new sdr::overlay::OverlayRollingRectangleStriped(
-                rStartPos, rStartPos, false);
+            std::unique_ptr<sdr::overlay::OverlayRollingRectangleStriped> pNew(new sdr::overlay::OverlayRollingRectangleStriped(
+                rStartPos, rStartPos, false));
             xTargetOverlay->add(*pNew);
-            maObjects.append(pNew);
+            maObjects.append(std::move(pNew));
         }
     }
 }
diff --git a/svx/source/svdraw/svdsnpv.cxx b/svx/source/svdraw/svdsnpv.cxx
index 1dc96f0c6a51..55664027168a 100644
--- a/svx/source/svdraw/svdsnpv.cxx
+++ b/svx/source/svdraw/svdsnpv.cxx
@@ -62,10 +62,10 @@ ImplPageOriginOverlay::ImplPageOriginOverlay(const SdrPaintView& rView, const ba
 
         if (xTargetOverlay.is())
         {
-            sdr::overlay::OverlayCrosshairStriped* aNew = new sdr::overlay::OverlayCrosshairStriped(
-                maPosition);
+            std::unique_ptr<sdr::overlay::OverlayCrosshairStriped> aNew(new sdr::overlay::OverlayCrosshairStriped(
+                maPosition));
             xTargetOverlay->add(*aNew);
-            maObjects.append(aNew);
+            maObjects.append(std::move(aNew));
         }
     }
 }
@@ -136,10 +136,10 @@ ImplHelpLineOverlay::ImplHelpLineOverlay(
 
         if (xTargetOverlay.is())
         {
-            sdr::overlay::OverlayHelplineStriped* aNew = new sdr::overlay::OverlayHelplineStriped(
-                maPosition, meHelpLineKind);
+            std::unique_ptr<sdr::overlay::OverlayHelplineStriped> aNew(new sdr::overlay::OverlayHelplineStriped(
+                maPosition, meHelpLineKind));
             xTargetOverlay->add(*aNew);
-            maObjects.append(aNew);
+            maObjects.append(std::move(aNew));
         }
     }
 }
diff --git a/svx/source/svdraw/svdview.cxx b/svx/source/svdraw/svdview.cxx
index 3cdbec76c362..f428714e8b81 100644
--- a/svx/source/svdraw/svdview.cxx
+++ b/svx/source/svdraw/svdview.cxx
@@ -96,11 +96,11 @@ void SdrDropMarkerOverlay::ImplCreateOverlays(
 
         if (xTargetOverlay.is())
         {
-            sdr::overlay::OverlayPolyPolygonStripedAndFilled* pNew = new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
-                rLinePolyPolygon);
+            std::unique_ptr<sdr::overlay::OverlayPolyPolygonStripedAndFilled> pNew(new sdr::overlay::OverlayPolyPolygonStripedAndFilled(
+                rLinePolyPolygon));
 
             xTargetOverlay->add(*pNew);
-            maObjects.append(pNew);
+            maObjects.append(std::move(pNew));
         }
     }
 }
diff --git a/svx/source/table/tablecontroller.cxx b/svx/source/table/tablecontroller.cxx
index 317e12efb62c..c5992a7b197b 100644
--- a/svx/source/table/tablecontroller.cxx
+++ b/svx/source/table/tablecontroller.cxx
@@ -2190,11 +2190,11 @@ void SvxTableController::updateSelectionOverlay()
                     rtl::Reference < sdr::overlay::OverlayManager > xOverlayManager = pPaintWindow->GetOverlayManager();
                     if( xOverlayManager.is() )
                     {
-                        sdr::overlay::OverlayObjectCell* pOverlay = new sdr::overlay::OverlayObjectCell( aHighlight, aRanges );
+                        std::unique_ptr<sdr::overlay::OverlayObjectCell> pOverlay(new sdr::overlay::OverlayObjectCell( aHighlight, aRanges ));
 
                         xOverlayManager->add(*pOverlay);
                         mpSelectionOverlay.reset(new sdr::overlay::OverlayObjectList);
-                        mpSelectionOverlay->append(pOverlay);
+                        mpSelectionOverlay->append(std::move(pOverlay));
                     }
                 }
             }
diff --git a/svx/source/table/tablehandles.cxx b/svx/source/table/tablehandles.cxx
index 5acff4be8417..c3671dc0c92b 100644
--- a/svx/source/table/tablehandles.cxx
+++ b/svx/source/table/tablehandles.cxx
@@ -174,9 +174,9 @@ void TableEdgeHdl::CreateB2dIAObject()
                             if(aVisible.count())
                             {
                                 // create overlay object for visible parts
-                                sdr::overlay::OverlayObject* pOverlayObject = new OverlayTableEdge(aVisible, true);
+                                std::unique_ptr<sdr::overlay::OverlayObject> pOverlayObject(new OverlayTableEdge(aVisible, true));
                                 xManager->add(*pOverlayObject);
-                                maOverlayGroup.append(pOverlayObject);
+                                maOverlayGroup.append(std::move(pOverlayObject));
                             }
 
                             if(aInvisible.count())
@@ -184,9 +184,9 @@ void TableEdgeHdl::CreateB2dIAObject()
                                 // also create overlay object for invisible parts to allow
                                 // a standard HitTest using the primitives from that overlay object
                                 // (see OverlayTableEdge implementation)
-                                sdr::overlay::OverlayObject* pOverlayObject = new OverlayTableEdge(aInvisible, false);
+                                std::unique_ptr<sdr::overlay::OverlayObject> pOverlayObject(new OverlayTableEdge(aInvisible, false));
                                 xManager->add(*pOverlayObject);
-                                maOverlayGroup.append(pOverlayObject);
+                                maOverlayGroup.append(std::move(pOverlayObject));
                             }
                         }
                     }
@@ -288,12 +288,12 @@ void TableBorderHdl::CreateB2dIAObject()
                     float fScaleFactor = rOutDev.GetDPIScaleFactor();
                     double fWidth = fScaleFactor * 6.0;
 
-                    sdr::overlay::OverlayObject* pOverlayObject =
+                    std::unique_ptr<sdr::overlay::OverlayObject> pOverlayObject(
                         new sdr::overlay::OverlayRectangle(aRange.getMinimum(), aRange.getMaximum(),
                                                            aHilightColor, fTransparence,
-                                                           fWidth, 0.0, 0.0, bAnimate);
+                                                           fWidth, 0.0, 0.0, bAnimate));
                     xManager->add(*pOverlayObject);
-                    maOverlayGroup.append(pOverlayObject);
+                    maOverlayGroup.append(std::move(pOverlayObject));
                 }
             }
         }


More information about the Libreoffice-commits mailing list