From 954e5e4b7820c5db3a6720dc9dc27e49cee449ac Mon Sep 17 00:00:00 2001 From: Michael Meeks Date: Mon, 2 Mar 2015 22:02:19 +0000 Subject: prophylactic double dispose audit. Change-Id: Ia18c0b7a76fb0894efe33afaf69a0079c4583228 --- basctl/source/basicide/moduldl2.cxx | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'basctl/source/basicide/moduldl2.cxx') diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx index 48cd1ed09b95..f7cfbb5adfd2 100644 --- a/basctl/source/basicide/moduldl2.cxx +++ b/basctl/source/basicide/moduldl2.cxx @@ -167,12 +167,14 @@ CheckBox::~CheckBox() void CheckBox::dispose() { delete pCheckButton; + pCheckButton = NULL; // delete user data SvTreeListEntry* pEntry = First(); while ( pEntry ) { - delete static_cast(pEntry->GetUserData()); + delete static_cast( pEntry->GetUserData() ); + pEntry->SetUserData( NULL ); pEntry = Next( pEntry ); } SvTabListBox::dispose(); @@ -487,11 +489,15 @@ LibPage::~LibPage() void LibPage::dispose() { - sal_uInt16 nCount = m_pBasicsBox->GetEntryCount(); - for ( sal_uInt16 i = 0; i < nCount; ++i ) + if (m_pBasicsBox) { - DocumentEntry* pEntry = static_cast(m_pBasicsBox->GetEntryData( i )); - delete pEntry; + sal_uInt16 nCount = m_pBasicsBox->GetEntryCount(); + for ( sal_uInt16 i = 0; i < nCount; ++i ) + { + DocumentEntry* pEntry = static_cast(m_pBasicsBox->GetEntryData( i )); + delete pEntry; + } + m_pBasicsBox = NULL; } TabPage::dispose(); } -- cgit