diff options
Diffstat (limited to 'vcl/generic/print/prtsetup.cxx')
-rw-r--r-- | vcl/generic/print/prtsetup.cxx | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/vcl/generic/print/prtsetup.cxx b/vcl/generic/print/prtsetup.cxx index a22f912071e2..57839084eac5 100644 --- a/vcl/generic/print/prtsetup.cxx +++ b/vcl/generic/print/prtsetup.cxx @@ -98,8 +98,11 @@ RTSDialog::~RTSDialog() void RTSDialog::dispose() { - delete m_pPaperPage; - delete m_pDevicePage; + m_pTabControl.clear(); + m_pOKButton.clear(); + m_pCancelButton.clear(); + m_pPaperPage.clear(); + m_pDevicePage.clear(); TabDialog::dispose(); } @@ -191,6 +194,24 @@ RTSPaperPage::RTSPaperPage(RTSDialog* pParent) update(); } +RTSPaperPage::~RTSPaperPage() +{ + dispose(); +} + +void RTSPaperPage::dispose() +{ + m_pParent.clear(); + m_pPaperText.clear(); + m_pPaperBox.clear(); + m_pOrientBox.clear(); + m_pDuplexText.clear(); + m_pDuplexBox.clear(); + m_pSlotText.clear(); + m_pSlotBox.clear(); + TabPage::dispose(); +} + void RTSPaperPage::update() { const PPDKey* pKey = NULL; @@ -355,6 +376,23 @@ RTSDevicePage::RTSDevicePage( RTSDialog* pParent ) } } +RTSDevicePage::~RTSDevicePage() +{ + dispose(); +} + +void RTSDevicePage::dispose() +{ + m_pParent.clear(); + m_pPPDKeyBox.clear(); + m_pPPDValueBox.clear(); + m_pCustomEdit.clear(); + m_pLevelBox.clear(); + m_pSpaceBox.clear(); + m_pDepthBox.clear(); + TabPage::dispose(); +} + sal_uLong RTSDevicePage::getDepth() { sal_uInt16 nSelectPos = m_pDepthBox->GetSelectEntryPos(); |