diff options
Diffstat (limited to 'cui/source/dialogs/multipat.cxx')
-rw-r--r-- | cui/source/dialogs/multipat.cxx | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/cui/source/dialogs/multipat.cxx b/cui/source/dialogs/multipat.cxx index ebb8fcdca031..9cbbef5f2160 100644 --- a/cui/source/dialogs/multipat.cxx +++ b/cui/source/dialogs/multipat.cxx @@ -229,16 +229,19 @@ SvxMultiPathDialog::~SvxMultiPathDialog() void SvxMultiPathDialog::dispose() { - sal_uInt16 nPos = (sal_uInt16)m_pRadioLB->GetEntryCount(); - while ( nPos-- ) + if (m_pRadioLB) { - SvTreeListEntry* pEntry = m_pRadioLB->GetEntry( nPos ); - delete static_cast<OUString*>(pEntry->GetUserData()); + sal_uInt16 nPos = (sal_uInt16)m_pRadioLB->GetEntryCount(); + while ( nPos-- ) + { + SvTreeListEntry* pEntry = m_pRadioLB->GetEntry( nPos ); + delete static_cast<OUString*>(pEntry->GetUserData()); + } } - delete m_pRadioLB; - m_pRadioLB = NULL; - + m_pRadioLB.clear(); + m_pAddBtn.clear(); + m_pDelBtn.clear(); ModalDialog::dispose(); } @@ -254,8 +257,10 @@ void SvxPathSelectDialog::dispose() sal_uInt16 nPos = m_pPathLB->GetEntryCount(); while ( nPos-- ) delete static_cast<OUString*>(m_pPathLB->GetEntryData(nPos)); - m_pPathLB = NULL; } + m_pPathLB.clear(); + m_pAddBtn.clear(); + m_pDelBtn.clear(); ModalDialog::dispose(); } |