diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-01-16 14:09:06 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-01-19 08:58:46 +0200 |
commit | 9b0a74a4e0fe0c784da62a730d10e8c75e4c7bad (patch) | |
tree | 676bb10742f9b11eb4bc222571935cc9b2e37cc3 | |
parent | f9894d68ea67f5fc5810bfb4ece5d9af0c16749a (diff) |
loplugin:useuniqueptr in ZBufferProcessor3D
Change-Id: I73005afdaf20efe15321a2a073beb3ae4f7a63e3
-rw-r--r-- | drawinglayer/source/processor3d/zbufferprocessor3d.cxx | 13 | ||||
-rw-r--r-- | include/drawinglayer/processor3d/zbufferprocessor3d.hxx | 5 |
2 files changed, 9 insertions, 9 deletions
diff --git a/drawinglayer/source/processor3d/zbufferprocessor3d.cxx b/drawinglayer/source/processor3d/zbufferprocessor3d.cxx index ba12a85ecf12..ab25e329a8b8 100644 --- a/drawinglayer/source/processor3d/zbufferprocessor3d.cxx +++ b/drawinglayer/source/processor3d/zbufferprocessor3d.cxx @@ -430,7 +430,7 @@ namespace drawinglayer // back to front if(!mpRasterPrimitive3Ds) { - const_cast< ZBufferProcessor3D* >(this)->mpRasterPrimitive3Ds = new std::vector< RasterPrimitive3D >; + const_cast< ZBufferProcessor3D* >(this)->mpRasterPrimitive3Ds.reset( new std::vector< RasterPrimitive3D > ); } mpRasterPrimitive3Ds->push_back(RasterPrimitive3D( @@ -494,7 +494,7 @@ namespace drawinglayer // back to front if(!mpRasterPrimitive3Ds) { - const_cast< ZBufferProcessor3D* >(this)->mpRasterPrimitive3Ds = new std::vector< RasterPrimitive3D >; + const_cast< ZBufferProcessor3D* >(this)->mpRasterPrimitive3Ds.reset( new std::vector< RasterPrimitive3D > ); } mpRasterPrimitive3Ds->push_back(RasterPrimitive3D( @@ -598,18 +598,18 @@ namespace drawinglayer maRasterRange.expand(basegfx::B2DPoint(mrBZPixelRaster.getWidth(), nStopLine)); // create the raster converter - mpZBufferRasterConverter3D = new ZBufferRasterConverter3D(mrBZPixelRaster, *this); + mpZBufferRasterConverter3D.reset( new ZBufferRasterConverter3D(mrBZPixelRaster, *this) ); } ZBufferProcessor3D::~ZBufferProcessor3D() { - delete mpZBufferRasterConverter3D; + mpZBufferRasterConverter3D.reset(); if(mpRasterPrimitive3Ds) { OSL_FAIL("ZBufferProcessor3D: destructed, but there are unrendered transparent geometries. Use ZBufferProcessor3D::finish() to render these (!)"); - delete mpRasterPrimitive3Ds; } + mpRasterPrimitive3Ds.reset(); } void ZBufferProcessor3D::finish() @@ -653,8 +653,7 @@ namespace drawinglayer // delete them to signal the destructor that all is done and // to allow asserting there - delete mpRasterPrimitive3Ds; - mpRasterPrimitive3Ds = nullptr; + mpRasterPrimitive3Ds.reset(); } } } // end of namespace processor3d diff --git a/include/drawinglayer/processor3d/zbufferprocessor3d.hxx b/include/drawinglayer/processor3d/zbufferprocessor3d.hxx index 9c1109eecaac..173c0415c29c 100644 --- a/include/drawinglayer/processor3d/zbufferprocessor3d.hxx +++ b/include/drawinglayer/processor3d/zbufferprocessor3d.hxx @@ -24,6 +24,7 @@ #include <drawinglayer/processor3d/defaultprocessor3d.hxx> #include <vcl/bitmapex.hxx> +#include <memory> namespace basegfx { class BZPixelRaster; @@ -62,7 +63,7 @@ namespace drawinglayer basegfx::B3DHomMatrix maInvEyeToView; /// The raster converter for Z-Buffer - ZBufferRasterConverter3D* mpZBufferRasterConverter3D; + std::unique_ptr<ZBufferRasterConverter3D> mpZBufferRasterConverter3D; /* AA value. Defines how many oversamples will be used in X and Y. Values 0, 1 will switch it off while e.g. 2 will use 2x2 pixels for each pixel to create @@ -72,7 +73,7 @@ namespace drawinglayer /* remembered RasterPrimitive3D's which need to be painted back to front for transparent 3D parts */ - std::vector< RasterPrimitive3D >* mpRasterPrimitive3Ds; + std::unique_ptr<std::vector< RasterPrimitive3D >> mpRasterPrimitive3Ds; sal_uInt32 mnStartLine; sal_uInt32 mnStopLine; |