summaryrefslogtreecommitdiff
path: root/svx/source/dialog/fontwork.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/dialog/fontwork.cxx')
-rw-r--r--svx/source/dialog/fontwork.cxx22
1 files changed, 20 insertions, 2 deletions
diff --git a/svx/source/dialog/fontwork.cxx b/svx/source/dialog/fontwork.cxx
index 27a067725c45..7e3f5d4bb831 100644
--- a/svx/source/dialog/fontwork.cxx
+++ b/svx/source/dialog/fontwork.cxx
@@ -163,8 +163,8 @@ SvxFontWorkChildWindow::SvxFontWorkChildWindow
SfxChildWindow( _pParent, nId )
{
- SvxFontWorkDialog* pDlg = new SvxFontWorkDialog(pBindings, this, _pParent);
- pWindow = pDlg;
+ VclPtrInstance<SvxFontWorkDialog> pDlg(pBindings, this, _pParent);
+ pWindow = pDlg.get();
eChildAlignment = SfxChildAlignment::NOALIGNMENT;
@@ -288,8 +288,26 @@ SvxFontWorkDialog::SvxFontWorkDialog(SfxBindings *pBindinx,
SvxFontWorkDialog::~SvxFontWorkDialog()
{
+ disposeOnce();
+}
+
+void SvxFontWorkDialog::dispose()
+{
for (sal_uInt16 i = 0; i < CONTROLLER_COUNT; i++)
DELETEZ(pCtrlItems[i]);
+ m_pTbxStyle.clear();
+ m_pTbxAdjust.clear();
+ m_pFbDistance.clear();
+ m_pMtrFldDistance.clear();
+ m_pFbTextStart.clear();
+ m_pMtrFldTextStart.clear();
+ m_pTbxShadow.clear();
+ m_pFbShadowX.clear();
+ m_pMtrFldShadowX.clear();
+ m_pFbShadowY.clear();
+ m_pMtrFldShadowY.clear();
+ m_pShadowColorLB.clear();
+ SfxDockingWindow::dispose();
}
SfxChildAlignment SvxFontWorkDialog::CheckAlignment( SfxChildAlignment eActAlign,