Related tdf#112393: avoid leak in SvxEditModulesDlg::CreateEntry

by using unique_ptr
bt:
0  0x00007fffee95a933 in SvLBoxButtonData::SvLBoxButtonData(Control const*) (this=0x55555c1c28d0, pControlForSettings=0x55555c1b9680)
    at /home/julien/lo/libreoffice/svtools/source/contnr/svlbitm.cxx:55
1  0x00007fff95cde826 in SvxEditModulesDlg::CreateEntry(rtl::OUString&, unsigned short) (this=0x55555c17f270, rTxt="Orthographe", nCol=1)
    at /home/julien/lo/libreoffice/cui/source/options/optlingu.cxx:1842
2  0x00007fff95cdf4dd in SvxEditModulesDlg::LangSelectHdl_Impl(ListBox const*) (this=0x55555c17f270, pBox=0x55555c19dc60)
    at /home/julien/lo/libreoffice/cui/source/options/optlingu.cxx:2004

Change-Id: I6f10d7adae4346b204e21bdaca16aacb2758003d
Reviewed-on: https://gerrit.libreoffice.org/42962
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
This commit is contained in:
Julien Nabet
2017-09-30 10:01:15 +02:00
parent 39e7a72b3e
commit d784dc4fd4
2 changed files with 3 additions and 3 deletions

View File

@@ -70,7 +70,7 @@ class SvxEditModulesDlg : public ModalDialog
SvxLinguData_Impl* pDefaultLinguData;
SvxLinguData_Impl& rLinguData;
SvLBoxButtonData* pCheckButtonData;
std::unique_ptr<SvLBoxButtonData> pCheckButtonData;
SvTreeListEntry* CreateEntry(OUString& rTxt, sal_uInt16 nCol);

View File

@@ -1839,12 +1839,12 @@ SvTreeListEntry* SvxEditModulesDlg::CreateEntry( OUString& rTxt, sal_uInt16 nCol
SvTreeListEntry* pEntry = new SvTreeListEntry;
if( !pCheckButtonData )
{
pCheckButtonData = new SvLBoxButtonData(m_pModulesCLB);
pCheckButtonData.reset(new SvLBoxButtonData(m_pModulesCLB));
pCheckButtonData->SetLink( LINK( this, SvxEditModulesDlg, BoxCheckButtonHdl_Impl2 ) );
}
if (CBCOL_FIRST == nCol)
pEntry->AddItem(o3tl::make_unique<SvLBoxButton>(SvLBoxButtonKind::EnabledCheckbox, pCheckButtonData));
pEntry->AddItem(o3tl::make_unique<SvLBoxButton>(SvLBoxButtonKind::EnabledCheckbox, pCheckButtonData.get()));
if (CBCOL_SECOND == nCol)
pEntry->AddItem(o3tl::make_unique<SvLBoxString>("")); // empty column
pEntry->AddItem(o3tl::make_unique<SvLBoxContextBmp>(Image(), Image(), false));