diff options
Diffstat (limited to 'cui/source/tabpages/tabstpge.cxx')
-rw-r--r-- | cui/source/tabpages/tabstpge.cxx | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/cui/source/tabpages/tabstpge.cxx b/cui/source/tabpages/tabstpge.cxx index 6167f0db6d32..3820ea8d32e8 100644 --- a/cui/source/tabpages/tabstpge.cxx +++ b/cui/source/tabpages/tabstpge.cxx @@ -38,7 +38,7 @@ class TabWin_Impl : public vcl::Window { - SvxTabulatorTabPage* mpPage; + VclPtr<SvxTabulatorTabPage> mpPage; private: sal_uInt16 nTabStyle; @@ -50,6 +50,8 @@ public: , nTabStyle(0) { } + virtual ~TabWin_Impl() { dispose(); } + virtual void dispose() SAL_OVERRIDE { mpPage.clear(); vcl::Window::dispose(); } virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE; @@ -185,6 +187,37 @@ SvxTabulatorTabPage::SvxTabulatorTabPage( vcl::Window* pParent, const SfxItemSet aAktTab.GetDecimal() = rLocaleWrapper.getNumDecimalSep()[0]; } +SvxTabulatorTabPage::~SvxTabulatorTabPage() +{ + dispose(); +} + +void SvxTabulatorTabPage::dispose() +{ + m_pTabBox.clear(); + m_pLeftTab.clear(); + m_pRightTab.clear(); + m_pCenterTab.clear(); + m_pDezTab.clear(); + m_pLeftWin.clear(); + m_pRightWin.clear(); + m_pCenterWin.clear(); + m_pDezWin.clear(); + m_pDezCharLabel.clear(); + m_pDezChar.clear(); + m_pNoFillChar.clear(); + m_pFillPoints.clear(); + m_pFillDashLine.clear(); + m_pFillSolidLine.clear(); + m_pFillSpecial.clear(); + m_pFillChar.clear(); + m_pNewBtn.clear(); + m_pDelAllBtn.clear(); + m_pDelBtn.clear(); + m_pTypeFrame.clear(); + m_pFillFrame.clear(); + SfxTabPage::dispose(); +} bool SvxTabulatorTabPage::FillItemSet( SfxItemSet* rSet ) { |