diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-04-11 12:09:57 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-04-12 08:45:17 +0200 |
commit | d1ae2387c729ac8a0e616c57075174eb0d06d389 (patch) | |
tree | 8ce39a165e5c6560c6b57645c109384b4c20efc9 /cui | |
parent | 6ec4109f73740de067b713cd46dae043f1b05dc5 (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.cxx | 26 |
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; } |