svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx       |   14 +++++-----
 svx/source/sdr/primitive2d/sdrdecompositiontools.cxx |    4 +--
 svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx |    4 +--
 svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx    |   25 +++++++++----------
 4 files changed, 24 insertions(+), 23 deletions(-)

New commits:
commit 56ff7f7789cc914cef705b069553ad4f38f6b9c5
Author:     Noel Grandin <[email protected]>
AuthorDate: Wed Dec 12 11:43:09 2018 +0200
Commit:     Noel Grandin <[email protected]>
CommitDate: Wed Dec 12 13:38:26 2018 +0100

    use unique_ptr in createTransformedClone
    
    Change-Id: I224f2ab64188d0df8f4a587af65f6bf80359a9de
    Reviewed-on: https://gerrit.libreoffice.org/65006
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <[email protected]>

diff --git a/svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx 
b/svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx
index 30f5ccb0f833..84bacaf129aa 100644
--- a/svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx
@@ -95,7 +95,7 @@ namespace drawinglayer
             virtual void get2DDecomposition(Primitive2DDecompositionVisitor& 
rVisitor, const geometry::ViewInformation2D& rViewInformation) const override;
 
             // transformed clone operator
-            virtual SdrTextPrimitive2D* createTransformedClone(const 
basegfx::B2DHomMatrix& rTransform) const = 0;
+            virtual std::unique_ptr<SdrTextPrimitive2D> 
createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const = 0;
         };
     } // end of namespace primitive2d
 } // end of namespace drawinglayer
@@ -133,7 +133,7 @@ namespace drawinglayer
             virtual bool operator==(const BasePrimitive2D& rPrimitive) const 
override;
 
             // transformed clone operator
-            virtual SdrTextPrimitive2D* createTransformedClone(const 
basegfx::B2DHomMatrix& rTransform) const override;
+            virtual std::unique_ptr<SdrTextPrimitive2D> 
createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const override;
 
             // provide unique ID
             DeclPrimitive2DIDBlock()
@@ -174,7 +174,7 @@ namespace drawinglayer
             virtual bool operator==(const BasePrimitive2D& rPrimitive) const 
override;
 
             // transformed clone operator
-            virtual SdrTextPrimitive2D* createTransformedClone(const 
basegfx::B2DHomMatrix& rTransform) const override;
+            virtual std::unique_ptr<SdrTextPrimitive2D> 
createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const override;
 
             // provide unique ID
             DeclPrimitive2DIDBlock()
@@ -234,7 +234,7 @@ namespace drawinglayer
             virtual bool operator==(const BasePrimitive2D& rPrimitive) const 
override;
 
             // transformed clone operator
-            virtual SdrTextPrimitive2D* createTransformedClone(const 
basegfx::B2DHomMatrix& rTransform) const override;
+            virtual std::unique_ptr<SdrTextPrimitive2D> 
createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const override;
 
             // provide unique ID
             DeclPrimitive2DIDBlock()
@@ -274,7 +274,7 @@ namespace drawinglayer
             virtual bool operator==(const BasePrimitive2D& rPrimitive) const 
override;
 
             // transformed clone operator
-            virtual SdrTextPrimitive2D* createTransformedClone(const 
basegfx::B2DHomMatrix& rTransform) const override;
+            virtual std::unique_ptr<SdrTextPrimitive2D> 
createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const override;
 
             // provide unique ID
             DeclPrimitive2DIDBlock()
@@ -313,7 +313,7 @@ namespace drawinglayer
             virtual bool operator==(const BasePrimitive2D& rPrimitive) const 
override;
 
             // transformed clone operator
-            virtual SdrTextPrimitive2D* createTransformedClone(const 
::basegfx::B2DHomMatrix& rTransform) const override;
+            virtual std::unique_ptr<SdrTextPrimitive2D> 
createTransformedClone(const ::basegfx::B2DHomMatrix& rTransform) const 
override;
 
             // provide unique ID
             DeclPrimitive2DIDBlock()
@@ -349,7 +349,7 @@ namespace drawinglayer
             virtual bool operator==(const BasePrimitive2D& rPrimitive) const 
override;
 
             // transformed clone operator
-            virtual SdrTextPrimitive2D* createTransformedClone(const 
basegfx::B2DHomMatrix& rTransform) const override;
+            virtual std::unique_ptr<SdrTextPrimitive2D> 
createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const override;
 
             // provide unique ID
             DeclPrimitive2DIDBlock()
diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx 
b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
index 159599cd5cf9..a1acce939be0 100644
--- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
+++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
@@ -382,10 +382,10 @@ namespace drawinglayer
                     aISRT.invert();
 
                     // bring the primitive back to scaled only and get scaled 
range, create new clone for this
-                    SdrTextPrimitive2D* pNew2 = 
pNew->createTransformedClone(aISRT);
+                    std::unique_ptr<SdrTextPrimitive2D> pNew2 = 
pNew->createTransformedClone(aISRT);
                     OSL_ENSURE(pNew2, "createTextPrimitive: Could not create 
transformed clone of text primitive (!)");
                     delete pNew;
-                    pNew = pNew2;
+                    pNew = pNew2.release();
 
                     // create neutral geometry::ViewInformation2D for local 
range and decompose calls. This is okay
                     // since the decompose is view-independent
diff --git a/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx 
b/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx
index 1fd696ad0d6a..5b70de884cd0 100644
--- a/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx
@@ -418,12 +418,12 @@ namespace drawinglayer
                 aChange *= aObjectMatrix;
 
                 // apply to existing text primitive
-                SdrTextPrimitive2D* pNewBlockText = 
xBlockText->createTransformedClone(aChange);
+                std::unique_ptr<SdrTextPrimitive2D> pNewBlockText = 
xBlockText->createTransformedClone(aChange);
                 OSL_ENSURE(pNewBlockText, 
"SdrMeasurePrimitive2D::create2DDecomposition: Could not create transformed 
clone of text primitive (!)");
                 xBlockText.clear();
 
                 // add to local primitives
-                aRetval.push_back(Primitive2DReference(pNewBlockText));
+                
aRetval.push_back(Primitive2DReference(pNewBlockText.release()));
             }
 
             // add shadow
diff --git a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx 
b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
index 334f390756d7..805a65a676d6 100644
--- a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
@@ -31,6 +31,7 @@
 #include <svx/svdmodel.hxx>
 #include <svx/svdoutl.hxx>
 #include <com/sun/star/beans/XPropertySet.hpp>
+#include <o3tl/make_unique.hxx>
 
 
 using namespace com::sun::star;
@@ -278,9 +279,9 @@ namespace drawinglayer
             return false;
         }
 
-        SdrTextPrimitive2D* 
SdrContourTextPrimitive2D::createTransformedClone(const basegfx::B2DHomMatrix& 
rTransform) const
+        std::unique_ptr<SdrTextPrimitive2D> 
SdrContourTextPrimitive2D::createTransformedClone(const basegfx::B2DHomMatrix& 
rTransform) const
         {
-            return new SdrContourTextPrimitive2D(
+            return o3tl::make_unique<SdrContourTextPrimitive2D>(
                 getSdrText(),
                 getOutlinerParaObject(),
                 getUnitPolyPolygon(),
@@ -330,12 +331,12 @@ namespace drawinglayer
             return false;
         }
 
-        SdrTextPrimitive2D* 
SdrPathTextPrimitive2D::createTransformedClone(const basegfx::B2DHomMatrix& 
rTransform) const
+        std::unique_ptr<SdrTextPrimitive2D> 
SdrPathTextPrimitive2D::createTransformedClone(const basegfx::B2DHomMatrix& 
rTransform) const
         {
             basegfx::B2DPolyPolygon aNewPolyPolygon(getPathPolyPolygon());
             aNewPolyPolygon.transform(rTransform);
 
-            return new SdrPathTextPrimitive2D(
+            return o3tl::make_unique<SdrPathTextPrimitive2D>(
                 getSdrText(),
                 getOutlinerParaObject(),
                 aNewPolyPolygon,
@@ -403,9 +404,9 @@ namespace drawinglayer
             return false;
         }
 
-        SdrTextPrimitive2D* 
SdrBlockTextPrimitive2D::createTransformedClone(const basegfx::B2DHomMatrix& 
rTransform) const
+        std::unique_ptr<SdrTextPrimitive2D> 
SdrBlockTextPrimitive2D::createTransformedClone(const basegfx::B2DHomMatrix& 
rTransform) const
         {
-            return new SdrBlockTextPrimitive2D(
+            return o3tl::make_unique<SdrBlockTextPrimitive2D>(
                 getSdrText(),
                 getOutlinerParaObject(),
                 rTransform * getTextRangeTransform(),
@@ -461,9 +462,9 @@ namespace drawinglayer
              return false;
          }
 
-         SdrTextPrimitive2D* 
SdrAutoFitTextPrimitive2D::createTransformedClone(const 
::basegfx::B2DHomMatrix& rTransform) const
+         std::unique_ptr<SdrTextPrimitive2D> 
SdrAutoFitTextPrimitive2D::createTransformedClone(const 
::basegfx::B2DHomMatrix& rTransform) const
          {
-             return new SdrAutoFitTextPrimitive2D(getSdrText(), 
getOutlinerParaObject(), rTransform * getTextRangeTransform(), getWordWrap());
+             return o3tl::make_unique<SdrAutoFitTextPrimitive2D>(getSdrText(), 
getOutlinerParaObject(), rTransform * getTextRangeTransform(), getWordWrap());
          }
 
          // provide unique ID
@@ -505,9 +506,9 @@ namespace drawinglayer
              return false;
          }
 
-        SdrTextPrimitive2D* 
SdrChainedTextPrimitive2D::createTransformedClone(const basegfx::B2DHomMatrix& 
rTransform) const
+        std::unique_ptr<SdrTextPrimitive2D> 
SdrChainedTextPrimitive2D::createTransformedClone(const basegfx::B2DHomMatrix& 
rTransform) const
         {
-            return new SdrChainedTextPrimitive2D(getSdrText(), 
getOutlinerParaObject(), rTransform * getTextRangeTransform());
+            return o3tl::make_unique<SdrChainedTextPrimitive2D>(getSdrText(), 
getOutlinerParaObject(), rTransform * getTextRangeTransform());
         }
 
         // provide unique ID
@@ -552,9 +553,9 @@ namespace drawinglayer
             return false;
         }
 
-        SdrTextPrimitive2D* 
SdrStretchTextPrimitive2D::createTransformedClone(const basegfx::B2DHomMatrix& 
rTransform) const
+        std::unique_ptr<SdrTextPrimitive2D> 
SdrStretchTextPrimitive2D::createTransformedClone(const basegfx::B2DHomMatrix& 
rTransform) const
         {
-            return new SdrStretchTextPrimitive2D(
+            return o3tl::make_unique<SdrStretchTextPrimitive2D>(
                 getSdrText(),
                 getOutlinerParaObject(),
                 rTransform * getTextRangeTransform(),
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to