summaryrefslogtreecommitdiff
path: root/sc/source/ui/optdlg/tpusrlst.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui/optdlg/tpusrlst.cxx')
-rw-r--r--sc/source/ui/optdlg/tpusrlst.cxx22
1 files changed, 20 insertions, 2 deletions
diff --git a/sc/source/ui/optdlg/tpusrlst.cxx b/sc/source/ui/optdlg/tpusrlst.cxx
index cc97343c182b..fc96ec7aca05 100644
--- a/sc/source/ui/optdlg/tpusrlst.cxx
+++ b/sc/source/ui/optdlg/tpusrlst.cxx
@@ -84,8 +84,26 @@ ScTpUserLists::ScTpUserLists( vcl::Window* pParent,
ScTpUserLists::~ScTpUserLists()
{
+ disposeOnce();
+}
+
+void ScTpUserLists::dispose()
+{
delete pUserLists;
delete pRangeUtil;
+ mpFtLists.clear();
+ mpLbLists.clear();
+ mpFtEntries.clear();
+ mpEdEntries.clear();
+ mpFtCopyFrom.clear();
+ mpEdCopyFrom.clear();
+ mpBtnNew.clear();
+ mpBtnDiscard.clear();
+ mpBtnAdd.clear();
+ mpBtnModify.clear();
+ mpBtnRemove.clear();
+ mpBtnCopy.clear();
+ SfxTabPage::dispose();
}
void ScTpUserLists::Init()
@@ -135,9 +153,9 @@ void ScTpUserLists::Init()
}
-SfxTabPage* ScTpUserLists::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet )
+VclPtr<SfxTabPage> ScTpUserLists::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet )
{
- return ( new ScTpUserLists( pParent, *rAttrSet ) );
+ return VclPtr<SfxTabPage>( new ScTpUserLists( pParent, *rAttrSet ), SAL_NO_ACQUIRE );
}
void ScTpUserLists::Reset( const SfxItemSet* rCoreAttrs )