svtools: Use std::unique_ptr for SvImpLBox

Change-Id: I4c5917eaa478e76411e9d8bbc5bd59c655693383
Reviewed-on: https://gerrit.libreoffice.org/47012
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
This commit is contained in:
Takeshi Abe 2017-12-23 17:47:29 +09:00 committed by Noel Grandin
parent c5417a21f5
commit 40cfea9a5b
2 changed files with 5 additions and 9 deletions

View File

@ -53,7 +53,6 @@ SvImpLBox::SvImpLBox( SvTreeListBox* pLBView, SvTreeList* pLBTree, WinBits nWinS
, aFctSet(this, pLBView)
, bAreChildrenTransient(true)
, mbForceMakeVisible (false)
, m_pStringSorter(nullptr)
, aVerSBar(VclPtr<ScrollBar>::Create(pLBView, WB_DRAG | WB_VSCROLL))
, aOutputSize(0, 0)
, mbNoAutoCurEntry(false)
@ -119,7 +118,6 @@ SvImpLBox::~SvImpLBox()
aEditIdle.Stop();
StopUserEvent();
delete m_pStringSorter;
if ( osl_atomic_decrement(&s_nImageRefCount) == 0 )
{
DELETEZ(s_pDefCollapsed);
@ -141,17 +139,14 @@ void SvImpLBox::UpdateStringSorter()
if( aLocale.Language != rNewLocale.Language ||
aLocale.Country != rNewLocale.Country ||
aLocale.Variant != rNewLocale.Variant )
{
delete m_pStringSorter;
m_pStringSorter = nullptr;
}
m_pStringSorter.reset();
}
if( !m_pStringSorter )
{
m_pStringSorter = new comphelper::string::NaturalStringSorter(
m_pStringSorter.reset(new comphelper::string::NaturalStringSorter(
::comphelper::getProcessComponentContext(),
rNewLocale);
rNewLocale));
}
}

View File

@ -25,6 +25,7 @@
#include <vcl/vclevent.hxx>
#include <unotools/intlwrapper.hxx>
#include <o3tl/enumarray.hxx>
#include <memory>
#include <vector>
#include "svtaccessiblefactory.hxx"
@ -142,7 +143,7 @@ private:
Point aEditClickPos;
Idle aEditIdle;
comphelper::string::NaturalStringSorter *m_pStringSorter;
std::unique_ptr<comphelper::string::NaturalStringSorter> m_pStringSorter;
std::vector< short > aContextBmpWidthVector;