diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2015-03-02 22:02:19 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2015-04-09 22:35:14 +0100 |
commit | 954e5e4b7820c5db3a6720dc9dc27e49cee449ac (patch) | |
tree | a5136c84a45d3861f7271b9eced37e33aa274658 /basctl/source/basicide/moduldl2.cxx | |
parent | e8284454f517d29a29f95a347a38730ded047f41 (diff) |
prophylactic double dispose audit.
Change-Id: Ia18c0b7a76fb0894efe33afaf69a0079c4583228
Diffstat (limited to 'basctl/source/basicide/moduldl2.cxx')
-rw-r--r-- | basctl/source/basicide/moduldl2.cxx | 16 |
1 files changed, 11 insertions, 5 deletions
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<LibUserData*>(pEntry->GetUserData()); + delete static_cast<LibUserData*>( 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<DocumentEntry*>(m_pBasicsBox->GetEntryData( i )); - delete pEntry; + sal_uInt16 nCount = m_pBasicsBox->GetEntryCount(); + for ( sal_uInt16 i = 0; i < nCount; ++i ) + { + DocumentEntry* pEntry = static_cast<DocumentEntry*>(m_pBasicsBox->GetEntryData( i )); + delete pEntry; + } + m_pBasicsBox = NULL; } TabPage::dispose(); } |