[Libreoffice-commits] core.git: editeng/source include/editeng
Noel Grandin
noel.grandin at collabora.co.uk
Tue Feb 6 09:36:31 UTC 2018
editeng/source/misc/txtrange.cxx | 11 ++++-------
include/editeng/txtrange.hxx | 7 ++++---
2 files changed, 8 insertions(+), 10 deletions(-)
New commits:
commit 6c9cae12f63ed2e48c7167782c13c6721990f393
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Mon Jan 29 10:56:15 2018 +0200
loplugin:useuniqueptr in TextRanger
Change-Id: I176da69a399eab0169c5fdddd454912672a92fba
Reviewed-on: https://gerrit.libreoffice.org/49267
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/editeng/source/misc/txtrange.cxx b/editeng/source/misc/txtrange.cxx
index d7805ba40559..312d642f3d95 100644
--- a/editeng/source/misc/txtrange.cxx
+++ b/editeng/source/misc/txtrange.cxx
@@ -44,7 +44,7 @@ TextRanger::TextRanger( const basegfx::B2DPolyPolygon& rPolyPolygon,
bVertical( bVert )
{
sal_uInt32 nCount(rPolyPolygon.count());
- mpPolyPolygon = new tools::PolyPolygon( static_cast<sal_uInt16>(nCount) );
+ mpPolyPolygon.reset( new tools::PolyPolygon( static_cast<sal_uInt16>(nCount) ) );
for(sal_uInt32 i(0); i < nCount; i++)
{
@@ -56,7 +56,7 @@ TextRanger::TextRanger( const basegfx::B2DPolyPolygon& rPolyPolygon,
if( pLinePolyPolygon )
{
nCount = pLinePolyPolygon->count();
- mpLinePolyPolygon = new tools::PolyPolygon();
+ mpLinePolyPolygon.reset( new tools::PolyPolygon() );
for(sal_uInt32 i(0); i < nCount; i++)
{
@@ -73,9 +73,6 @@ TextRanger::TextRanger( const basegfx::B2DPolyPolygon& rPolyPolygon,
TextRanger::~TextRanger()
{
mRangeCache.clear();
- delete mpPolyPolygon;
- delete mpLinePolyPolygon;
- delete pBound;
}
/* TextRanger::SetVertical(..)
@@ -646,7 +643,7 @@ LongDqPtr TextRanger::GetTextRanges( const Range& rRange )
SvxBoundArgs aArg( this, &(rngCache.results), rRange );
aArg.Calc( *mpPolyPolygon );
if( mpLinePolyPolygon )
- aArg.Concat( mpLinePolyPolygon );
+ aArg.Concat( mpLinePolyPolygon.get() );
//Add new result to the cache
mRangeCache.push_back(rngCache);
if (mRangeCache.size() > nCacheSize)
@@ -657,7 +654,7 @@ LongDqPtr TextRanger::GetTextRanges( const Range& rRange )
const tools::Rectangle& TextRanger::GetBoundRect_()
{
DBG_ASSERT( nullptr == pBound, "Don't call twice." );
- pBound = new tools::Rectangle( mpPolyPolygon->GetBoundRect() );
+ pBound.reset( new tools::Rectangle( mpPolyPolygon->GetBoundRect() ) );
return *pBound;
}
diff --git a/include/editeng/txtrange.hxx b/include/editeng/txtrange.hxx
index 3c857ad0e90f..4bc307466317 100644
--- a/include/editeng/txtrange.hxx
+++ b/include/editeng/txtrange.hxx
@@ -23,6 +23,7 @@
#include <editeng/editengdllapi.h>
#include <tools/gen.hxx>
#include <deque>
+#include <memory>
namespace tools { class PolyPolygon; }
namespace tools { class Rectangle; }
@@ -43,9 +44,9 @@ class EDITENG_DLLPUBLIC TextRanger
RangeCache(const Range& rng) : range(rng) {};
};
std::deque<RangeCache> mRangeCache; //!< Cached range calculations.
- tools::PolyPolygon *mpPolyPolygon; // Surface polygon
- tools::PolyPolygon *mpLinePolyPolygon; // Line polygon
- tools::Rectangle *pBound; // Comprehensive rectangle
+ std::unique_ptr<tools::PolyPolygon> mpPolyPolygon; // Surface polygon
+ std::unique_ptr<tools::PolyPolygon> mpLinePolyPolygon; // Line polygon
+ std::unique_ptr<tools::Rectangle> pBound; // Comprehensive rectangle
sal_uInt16 nCacheSize; // Cache-Size
sal_uInt16 nRight; // Distance Contour-Text
sal_uInt16 nLeft; // Distance Text-Contour
More information about the Libreoffice-commits
mailing list