summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-04-11 12:09:57 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-04-12 08:45:17 +0200
commitd1ae2387c729ac8a0e616c57075174eb0d06d389 (patch)
tree8ce39a165e5c6560c6b57645c109384b4c20efc9 /cui
parent6ec4109f73740de067b713cd46dae043f1b05dc5 (diff)
make FontList::Clone return a std::unique_ptr
and simplify the logic in SvxCharNamePage Change-Id: Ic1b379bb83203aa1ebf47b44d944c83a02c04224 Reviewed-on: https://gerrit.libreoffice.org/52744 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'cui')
-rw-r--r--cui/source/tabpages/chardlg.cxx26
1 files changed, 4 insertions, 22 deletions
diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx
index 08bababd9bbf..1d06dae5cb04 100644
--- a/cui/source/tabpages/chardlg.cxx
+++ b/cui/source/tabpages/chardlg.cxx
@@ -223,27 +223,17 @@ struct SvxCharNamePage_Impl
{
Idle m_aUpdateIdle;
OUString m_aNoStyleText;
- const FontList* m_pFontList;
+ std::unique_ptr<FontList> m_pFontList;
sal_Int32 m_nExtraEntryPos;
- bool m_bMustDelete;
bool m_bInSearchMode;
SvxCharNamePage_Impl() :
-
- m_pFontList ( nullptr ),
m_nExtraEntryPos( COMBOBOX_ENTRY_NOTFOUND ),
- m_bMustDelete ( false ),
m_bInSearchMode ( false )
{
m_aUpdateIdle.SetPriority( TaskPriority::LOWEST );
}
-
- ~SvxCharNamePage_Impl()
- {
- if ( m_bMustDelete )
- delete m_pFontList;
- }
};
// class SvxCharNamePage -------------------------------------------------
@@ -435,19 +425,16 @@ const FontList* SvxCharNamePage::GetFontList() const
{
DBG_ASSERT(nullptr != static_cast<const SvxFontListItem*>(pItem)->GetFontList(),
"Where is the font list?");
- m_pImpl->m_pFontList = static_cast<const SvxFontListItem*>(pItem )->GetFontList()->Clone();
- m_pImpl->m_bMustDelete = true;
+ m_pImpl->m_pFontList = static_cast<const SvxFontListItem*>(pItem )->GetFontList()->Clone();
}
}
if(!m_pImpl->m_pFontList)
{
- m_pImpl->m_pFontList =
- new FontList( Application::GetDefaultDevice() );
- m_pImpl->m_bMustDelete = true;
+ m_pImpl->m_pFontList.reset(new FontList( Application::GetDefaultDevice() ));
}
}
- return m_pImpl->m_pFontList;
+ return m_pImpl->m_pFontList.get();
}
@@ -1228,12 +1215,7 @@ bool SvxCharNamePage::FillItemSet( SfxItemSet* rSet )
void SvxCharNamePage::SetFontList( const SvxFontListItem& rItem )
{
- if ( m_pImpl->m_bMustDelete )
- {
- delete m_pImpl->m_pFontList;
- }
m_pImpl->m_pFontList = rItem.GetFontList()->Clone();
- m_pImpl->m_bMustDelete = true;
}