[Libreoffice-commits] core.git: Branch 'feature/useuniqueptr-2' - 2 commits - include/vcl vcl/source
Noel Grandin
noel.grandin at collabora.co.uk
Tue Jan 16 09:47:25 UTC 2018
include/vcl/outdevstate.hxx | 21 +++++++++----------
include/vcl/texteng.hxx | 12 +++++-----
vcl/source/edit/texteng.cxx | 30 ++++++++++++---------------
vcl/source/edit/textundo.hxx | 4 +--
vcl/source/outdev/outdevstate.cxx | 42 +++++++++++++++++++-------------------
5 files changed, 54 insertions(+), 55 deletions(-)
New commits:
commit 9b22966b2ce43b81cd156777dc6b5673582d15f1
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Mon Jan 15 09:46:17 2018 +0200
loplugin:useuniqueptr in OutDevState
Change-Id: I9e29ca57eb3f00987dbac74cf7da2222f5b6d869
diff --git a/include/vcl/outdevstate.hxx b/include/vcl/outdevstate.hxx
index 94cf877e03d0..d58faac00c52 100644
--- a/include/vcl/outdevstate.hxx
+++ b/include/vcl/outdevstate.hxx
@@ -29,6 +29,7 @@
#include <tools/gen.hxx>
#include <tools/fontenum.hxx>
#include <o3tl/typed_flags_set.hxx>
+#include <memory>
class Color;
@@ -79,17 +80,17 @@ public:
OutDevState();
~OutDevState();
- MapMode* mpMapMode;
+ std::unique_ptr<MapMode> mpMapMode;
bool mbMapActive;
- vcl::Region* mpClipRegion;
- Color* mpLineColor;
- Color* mpFillColor;
- vcl::Font* mpFont;
- Color* mpTextColor;
- Color* mpTextFillColor;
- Color* mpTextLineColor;
- Color* mpOverlineColor;
- Point* mpRefPoint;
+ std::unique_ptr<vcl::Region> mpClipRegion;
+ std::unique_ptr<Color> mpLineColor;
+ std::unique_ptr<Color> mpFillColor;
+ std::unique_ptr<vcl::Font> mpFont;
+ std::unique_ptr<Color> mpTextColor;
+ std::unique_ptr<Color> mpTextFillColor;
+ std::unique_ptr<Color> mpTextLineColor;
+ std::unique_ptr<Color> mpOverlineColor;
+ std::unique_ptr<Point> mpRefPoint;
TextAlign meTextAlign;
RasterOp meRasterOp;
ComplexTextLayoutFlags mnTextLayoutMode;
diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx
index 388962906829..07b7d1cfa85e 100644
--- a/vcl/source/outdev/outdevstate.cxx
+++ b/vcl/source/outdev/outdevstate.cxx
@@ -52,16 +52,16 @@ OutDevState::OutDevState()
OutDevState::~OutDevState()
{
- delete mpLineColor;
- delete mpFillColor;
- delete mpFont;
- delete mpTextColor;
- delete mpTextFillColor;
- delete mpTextLineColor;
- delete mpOverlineColor;
- delete mpMapMode;
- delete mpClipRegion;
- delete mpRefPoint;
+ mpLineColor.reset();
+ mpFillColor.reset();
+ mpFont.reset();
+ mpTextColor.reset();
+ mpTextFillColor.reset();
+ mpTextLineColor.reset();
+ mpOverlineColor.reset();
+ mpMapMode.reset();
+ mpClipRegion.reset();
+ mpRefPoint.reset();
}
void OutputDevice::Push( PushFlags nFlags )
@@ -76,27 +76,27 @@ void OutputDevice::Push( PushFlags nFlags )
if (nFlags & PushFlags::LINECOLOR && mbLineColor)
{
- pState->mpLineColor = new Color( maLineColor );
+ pState->mpLineColor.reset( new Color( maLineColor ) );
}
if (nFlags & PushFlags::FILLCOLOR && mbFillColor)
{
- pState->mpFillColor = new Color( maFillColor );
+ pState->mpFillColor.reset( new Color( maFillColor ) );
}
if ( nFlags & PushFlags::FONT )
- pState->mpFont = new vcl::Font( maFont );
+ pState->mpFont.reset( new vcl::Font( maFont ) );
if ( nFlags & PushFlags::TEXTCOLOR )
- pState->mpTextColor = new Color( GetTextColor() );
+ pState->mpTextColor.reset( new Color( GetTextColor() ) );
if (nFlags & PushFlags::TEXTFILLCOLOR && IsTextFillColor())
{
- pState->mpTextFillColor = new Color( GetTextFillColor() );
+ pState->mpTextFillColor.reset( new Color( GetTextFillColor() ) );
}
if (nFlags & PushFlags::TEXTLINECOLOR && IsTextLineColor())
{
- pState->mpTextLineColor = new Color( GetTextLineColor() );
+ pState->mpTextLineColor.reset( new Color( GetTextLineColor() ) );
}
if (nFlags & PushFlags::OVERLINECOLOR && IsOverlineColor())
{
- pState->mpOverlineColor = new Color( GetOverlineColor() );
+ pState->mpOverlineColor.reset( new Color( GetOverlineColor() ) );
}
if ( nFlags & PushFlags::TEXTALIGN )
pState->meTextAlign = GetTextAlign();
@@ -108,16 +108,16 @@ void OutputDevice::Push( PushFlags nFlags )
pState->meRasterOp = GetRasterOp();
if ( nFlags & PushFlags::MAPMODE )
{
- pState->mpMapMode = new MapMode( maMapMode );
+ pState->mpMapMode.reset( new MapMode( maMapMode ) );
pState->mbMapActive = mbMap;
}
if (nFlags & PushFlags::CLIPREGION && mbClipRegion)
{
- pState->mpClipRegion = new vcl::Region( maRegion );
+ pState->mpClipRegion.reset( new vcl::Region( maRegion ) );
}
if (nFlags & PushFlags::REFPOINT && mbRefPoint)
{
- pState->mpRefPoint = new Point( maRefPoint );
+ pState->mpRefPoint.reset( new Point( maRefPoint ) );
}
mpOutDevStateStack->push_back( pState );
@@ -213,7 +213,7 @@ void OutputDevice::Pop()
}
if ( rState.mnFlags & PushFlags::CLIPREGION )
- SetDeviceClipRegion( rState.mpClipRegion );
+ SetDeviceClipRegion( rState.mpClipRegion.get() );
if ( rState.mnFlags & PushFlags::REFPOINT )
{
commit 57ca1aa405845077af8ff6955236e6fc88758a99
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Mon Jan 15 08:29:31 2018 +0200
loplugin:useuniqueptr in TextEngine
Change-Id: Iff5d10c4e962994823ec4ce6a765f4456c677352
diff --git a/include/vcl/texteng.hxx b/include/vcl/texteng.hxx
index c4e70d56d06e..dcab1dd337b2 100644
--- a/include/vcl/texteng.hxx
+++ b/include/vcl/texteng.hxx
@@ -94,16 +94,16 @@ class VCL_DLLPUBLIC TextEngine : public SfxBroadcaster
friend class TextUndoInsertChars;
friend class TextUndoRemoveChars;
- TextDoc* mpDoc;
- TEParaPortions* mpTEParaPortions;
+ std::unique_ptr<TextDoc> mpDoc;
+ std::unique_ptr<TEParaPortions> mpTEParaPortions;
VclPtr<OutputDevice> mpRefDev;
- TextViews* mpViews;
+ std::unique_ptr<TextViews> mpViews;
TextView* mpActiveView;
- TextUndoManager* mpUndoManager;
+ std::unique_ptr<TextUndoManager> mpUndoManager;
- IdleFormatter* mpIdleFormatter;
+ std::unique_ptr<IdleFormatter> mpIdleFormatter;
std::unique_ptr<TEIMEInfos> mpIMEInfos;
@@ -113,7 +113,7 @@ class VCL_DLLPUBLIC TextEngine : public SfxBroadcaster
tools::Rectangle maInvalidRect;
- LocaleDataWrapper* mpLocaleDataWrapper;
+ std::unique_ptr<LocaleDataWrapper> mpLocaleDataWrapper;
vcl::Font maFont;
Color maTextColor;
diff --git a/vcl/source/edit/texteng.cxx b/vcl/source/edit/texteng.cxx
index 379f2adeb6c0..ec57a36041a2 100644
--- a/vcl/source/edit/texteng.cxx
+++ b/vcl/source/edit/texteng.cxx
@@ -89,9 +89,9 @@ TextEngine::TextEngine()
, mbRightToLeft {false}
, mbHasMultiLineParas {false}
{
- mpViews = new TextViews;
+ mpViews.reset( new TextViews );
- mpIdleFormatter = new IdleFormatter;
+ mpIdleFormatter.reset( new IdleFormatter );
mpIdleFormatter->SetInvokeHandler( LINK( this, TextEngine, IdleFormatHdl ) );
mpIdleFormatter->SetDebugName( "vcl::TextEngine mpIdleFormatter" );
@@ -113,14 +113,14 @@ TextEngine::~TextEngine()
{
mbDowning = true;
- delete mpIdleFormatter;
- delete mpDoc;
- delete mpTEParaPortions;
- delete mpViews; // only the list, not the Views
+ mpIdleFormatter.reset();
+ mpDoc.reset();
+ mpTEParaPortions.reset();
+ mpViews.reset(); // only the list, not the Views
mpRefDev.disposeAndClear();
- delete mpUndoManager;
+ mpUndoManager.reset();
mpIMEInfos.reset();
- delete mpLocaleDataWrapper;
+ mpLocaleDataWrapper.reset();
}
void TextEngine::InsertView( TextView* pTextView )
@@ -375,10 +375,9 @@ void TextEngine::ImpInitDoc()
if ( mpDoc )
mpDoc->Clear();
else
- mpDoc = new TextDoc;
+ mpDoc.reset( new TextDoc );
- delete mpTEParaPortions;
- mpTEParaPortions = new TEParaPortions;
+ mpTEParaPortions.reset(new TEParaPortions);
TextNode* pNode = new TextNode( OUString() );
mpDoc->GetNodes().insert( mpDoc->GetNodes().begin(), pNode );
@@ -1305,7 +1304,7 @@ void TextEngine::EnableUndo( bool bEnable )
::svl::IUndoManager& TextEngine::GetUndoManager()
{
if ( !mpUndoManager )
- mpUndoManager = new TextUndoManager( this );
+ mpUndoManager.reset( new TextUndoManager( this ) );
return *mpUndoManager;
}
@@ -2719,8 +2718,7 @@ uno::Reference< i18n::XBreakIterator > const & TextEngine::GetBreakIterator()
void TextEngine::SetLocale( const css::lang::Locale& rLocale )
{
maLocale = rLocale;
- delete mpLocaleDataWrapper;
- mpLocaleDataWrapper = nullptr;
+ mpLocaleDataWrapper.reset();
}
css::lang::Locale const & TextEngine::GetLocale()
@@ -2735,9 +2733,9 @@ css::lang::Locale const & TextEngine::GetLocale()
LocaleDataWrapper* TextEngine::ImpGetLocaleDataWrapper()
{
if ( !mpLocaleDataWrapper )
- mpLocaleDataWrapper = new LocaleDataWrapper( LanguageTag( GetLocale()) );
+ mpLocaleDataWrapper.reset( new LocaleDataWrapper( LanguageTag( GetLocale()) ) );
- return mpLocaleDataWrapper;
+ return mpLocaleDataWrapper.get();
}
void TextEngine::SetRightToLeft( bool bR2L )
diff --git a/vcl/source/edit/textundo.hxx b/vcl/source/edit/textundo.hxx
index caa985a84eb3..0ec4a9aba328 100644
--- a/vcl/source/edit/textundo.hxx
+++ b/vcl/source/edit/textundo.hxx
@@ -60,8 +60,8 @@ protected:
TextView* GetView() const { return mpTextEngine->GetActiveView(); }
void SetSelection( const TextSelection& rSel );
- TextDoc* GetDoc() const { return mpTextEngine->mpDoc; }
- TEParaPortions* GetTEParaPortions() const { return mpTextEngine->mpTEParaPortions; }
+ TextDoc* GetDoc() const { return mpTextEngine->mpDoc.get(); }
+ TEParaPortions* GetTEParaPortions() const { return mpTextEngine->mpTEParaPortions.get(); }
public:
explicit TextUndo( TextEngine* pTextEngine );
More information about the Libreoffice-commits
mailing list