diff options
Diffstat (limited to 'sw/source/ui/config/optcomp.cxx')
-rw-r--r-- | sw/source/ui/config/optcomp.cxx | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/sw/source/ui/config/optcomp.cxx b/sw/source/ui/config/optcomp.cxx index daa523e1b87f..f60ab8839d86 100644 --- a/sw/source/ui/config/optcomp.cxx +++ b/sw/source/ui/config/optcomp.cxx @@ -128,7 +128,17 @@ SwCompatibilityOptPage::SwCompatibilityOptPage(vcl::Window* pParent, const SfxIt SwCompatibilityOptPage::~SwCompatibilityOptPage() { + disposeOnce(); +} + +void SwCompatibilityOptPage::dispose() +{ delete m_pImpl; + m_pMain.clear(); + m_pFormattingLB.clear(); + m_pOptionsLB.clear(); + m_pDefaultPB.clear(); + SfxTabPage::dispose(); } sal_uLong convertBools2Ulong_Impl @@ -309,9 +319,9 @@ IMPL_LINK_NOARG(SwCompatibilityOptPage, SelectHdl) IMPL_LINK_NOARG(SwCompatibilityOptPage, UseAsDefaultHdl) { - MessageDialog aQuery(this, "QueryDefaultCompatDialog", - "modules/swriter/ui/querydefaultcompatdialog.ui"); - if (aQuery.Execute() == RET_YES) + ScopedVclPtrInstance<MessageDialog> aQuery(this, "QueryDefaultCompatDialog", + "modules/swriter/ui/querydefaultcompatdialog.ui"); + if (aQuery->Execute() == RET_YES) { for ( vector< CompatibilityItem >::iterator pItem = m_pImpl->m_aList.begin(); pItem != m_pImpl->m_aList.end(); ++pItem ) @@ -400,9 +410,9 @@ void SwCompatibilityOptPage::WriteOptions() pItem->m_bExpandWordSpace ); } -SfxTabPage* SwCompatibilityOptPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet ) +VclPtr<SfxTabPage> SwCompatibilityOptPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet ) { - return new SwCompatibilityOptPage( pParent, *rAttrSet ); + return VclPtr<SwCompatibilityOptPage>::Create( pParent, *rAttrSet ); } bool SwCompatibilityOptPage::FillItemSet( SfxItemSet* ) |