From de5bbacac2027f375f1f8711b2116fd58bbdfda3 Mon Sep 17 00:00:00 2001 From: "locka%iol.ie" Date: Tue, 30 Oct 2001 23:06:50 +0000 Subject: [PATCH] NOT PART OF BUILD. Fix for memory leak in simple array --- .../src/pluginhostctrl/nsPluginHostCtrl.cpp | 1 + .../activex/src/pluginhostctrl/nsPluginHostCtrl.h | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/embedding/browser/activex/src/pluginhostctrl/nsPluginHostCtrl.cpp b/embedding/browser/activex/src/pluginhostctrl/nsPluginHostCtrl.cpp index 2bd6668a497..3c8e799b435 100644 --- a/embedding/browser/activex/src/pluginhostctrl/nsPluginHostCtrl.cpp +++ b/embedding/browser/activex/src/pluginhostctrl/nsPluginHostCtrl.cpp @@ -413,6 +413,7 @@ HRESULT nsPluginHostCtrl::CleanupPluginList() free(pI->szPluginPath); free(pI); } + m_Plugins.Empty(); return S_OK; } diff --git a/embedding/browser/activex/src/pluginhostctrl/nsPluginHostCtrl.h b/embedding/browser/activex/src/pluginhostctrl/nsPluginHostCtrl.h index 2bd04a5cd26..159d27fd263 100644 --- a/embedding/browser/activex/src/pluginhostctrl/nsPluginHostCtrl.h +++ b/embedding/browser/activex/src/pluginhostctrl/nsPluginHostCtrl.h @@ -63,10 +63,7 @@ public: virtual ~nsSimpleArray() { - if (m_pData) - { - free(m_pData); - } + Empty(); } Entry ElementAt(unsigned long aIndex) const @@ -132,6 +129,15 @@ public: } } + void Empty() + { + if (m_pData) + { + free(m_pData); + m_pData = NULL; + m_nSize = m_nMaxSize = 0; + } + } BOOL IsEmpty() const { return m_nSize == 0 ? TRUE : FALSE; } unsigned long Count() const { return m_nSize; } };