summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-08-11 10:36:07 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-08-15 15:51:37 +0200
commit9d31badc81c5044269a50ee2bc16f757f258d617 (patch)
tree983e7a6b0264b44b12d47d86b5724cb3a7b3cc0b /svx
parente4989ae8ca0d8b37e98caa5b68c164c79d27d574 (diff)
loplugin:useuniqueptr in disposeOutliner
Change-Id: I038d98a4d4b3dd2a73afd8ddb4c4a7396e52267f Reviewed-on: https://gerrit.libreoffice.org/59012 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx')
-rw-r--r--svx/source/inc/svdoutlinercache.hxx2
-rw-r--r--svx/source/svdraw/svdmodel.cxx10
-rw-r--r--svx/source/svdraw/svdoutlinercache.cxx9
-rw-r--r--svx/source/unodraw/unoshtxt.cxx9
4 files changed, 11 insertions, 19 deletions
diff --git a/svx/source/inc/svdoutlinercache.hxx b/svx/source/inc/svdoutlinercache.hxx
index 9eba3da602c9..a919da2ab89d 100644
--- a/svx/source/inc/svdoutlinercache.hxx
+++ b/svx/source/inc/svdoutlinercache.hxx
@@ -42,7 +42,7 @@ public:
~SdrOutlinerCache();
std::unique_ptr<SdrOutliner> createOutliner( OutlinerMode nOutlinerMode );
- void disposeOutliner( SdrOutliner* pOutliner );
+ void disposeOutliner( std::unique_ptr<SdrOutliner> pOutliner );
std::vector< SdrOutliner* > GetActiveOutliners() const;
};
diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx
index 4889328cbf57..0677d4424593 100644
--- a/svx/source/svdraw/svdmodel.cxx
+++ b/svx/source/svdraw/svdmodel.cxx
@@ -1885,16 +1885,10 @@ std::vector<SdrOutliner*> SdrModel::GetActiveOutliners() const
return aRet;
}
-void SdrModel::disposeOutliner( SdrOutliner* pOutliner )
+void SdrModel::disposeOutliner( std::unique_ptr<SdrOutliner> pOutliner )
{
if( mpOutlinerCache )
- {
- mpOutlinerCache->disposeOutliner( pOutliner );
- }
- else
- {
- delete pOutliner;
- }
+ mpOutlinerCache->disposeOutliner( std::move(pOutliner) );
}
SvxNumType SdrModel::GetPageNumType() const
diff --git a/svx/source/svdraw/svdoutlinercache.cxx b/svx/source/svdraw/svdoutlinercache.cxx
index fe66e5f0a42f..1d9d75d81f08 100644
--- a/svx/source/svdraw/svdoutlinercache.cxx
+++ b/svx/source/svdraw/svdoutlinercache.cxx
@@ -59,7 +59,7 @@ SdrOutlinerCache::~SdrOutlinerCache()
{
}
-void SdrOutlinerCache::disposeOutliner( SdrOutliner* pOutliner )
+void SdrOutlinerCache::disposeOutliner( std::unique_ptr<SdrOutliner> pOutliner )
{
if( pOutliner )
{
@@ -67,26 +67,25 @@ void SdrOutlinerCache::disposeOutliner( SdrOutliner* pOutliner )
if( OutlinerMode::OutlineObject == nOutlMode )
{
- maModeOutline.emplace_back(pOutliner);
pOutliner->Clear();
pOutliner->SetVertical( false );
// Deregister on outliner, might be reused from outliner cache
pOutliner->SetNotifyHdl( Link<EENotify&,void>() );
+ maModeOutline.emplace_back(std::move(pOutliner));
}
else if( OutlinerMode::TextObject == nOutlMode )
{
- maModeText.emplace_back(pOutliner);
pOutliner->Clear();
pOutliner->SetVertical( false );
// Deregister on outliner, might be reused from outliner cache
pOutliner->SetNotifyHdl( Link<EENotify&,void>() );
+ maModeText.emplace_back(std::move(pOutliner));
}
else
{
- maActiveOutliners.erase(pOutliner);
- delete pOutliner;
+ maActiveOutliners.erase(pOutliner.get());
}
}
}
diff --git a/svx/source/unodraw/unoshtxt.cxx b/svx/source/unodraw/unoshtxt.cxx
index 466f564602e1..52414fb67957 100644
--- a/svx/source/unodraw/unoshtxt.cxx
+++ b/svx/source/unodraw/unoshtxt.cxx
@@ -85,7 +85,7 @@ private:
SdrView* mpView;
VclPtr<const vcl::Window> mpWindow;
SdrModel* mpModel; // TTTT probably not needed -> use SdrModel from SdrObject (?)
- SdrOutliner* mpOutliner;
+ std::unique_ptr<SdrOutliner> mpOutliner;
std::unique_ptr<SvxOutlinerForwarder> mpTextForwarder;
std::unique_ptr<SvxDrawOutlinerViewForwarder> mpViewForwarder; // if non-NULL, use GetViewModeTextForwarder text forwarder
css::uno::Reference< css::linguistic2::XLinguServiceManager2 > m_xLinguServiceManager;
@@ -406,13 +406,12 @@ void SvxTextEditSourceImpl::dispose()
{
if( mpModel )
{
- mpModel->disposeOutliner( mpOutliner );
+ mpModel->disposeOutliner( std::move(mpOutliner) );
}
else
{
- delete mpOutliner;
+ mpOutliner.reset();
}
- mpOutliner = nullptr;
}
if( mpModel )
@@ -500,7 +499,7 @@ SvxTextForwarder* SvxTextEditSourceImpl::GetBackgroundTextForwarder()
if( pTextObj && pTextObj->IsTextFrame() && pTextObj->GetTextKind() == OBJ_OUTLINETEXT )
nOutlMode = OutlinerMode::OutlineObject;
- mpOutliner = mpModel->createOutliner( nOutlMode ).release();
+ mpOutliner = mpModel->createOutliner( nOutlMode );
// Do the setup after outliner creation, would be useless otherwise
if( HasView() )