summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/vm/eventpipeconfiguration.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/vm/eventpipeconfiguration.cpp b/src/vm/eventpipeconfiguration.cpp
index 80c4878782..8a1f3bce2a 100644
--- a/src/vm/eventpipeconfiguration.cpp
+++ b/src/vm/eventpipeconfiguration.cpp
@@ -413,17 +413,12 @@ void EventPipeConfiguration::DeleteDeferredProviders()
while(pElem != NULL)
{
EventPipeProvider *pProvider = pElem->GetValue();
+ pElem = m_pProviderList->GetNext(pElem);
if(pProvider->GetDeleteDeferred())
{
- // The act of deleting the provider unregisters it and removes it from the list.
+ // The act of deleting the provider unregisters it,
+ // removes it from the list, and deletes the list element
delete(pProvider);
- SListElem<EventPipeProvider*> *pCurElem = pElem;
- pElem = m_pProviderList->GetNext(pElem);
- delete(pCurElem);
- }
- else
- {
- pElem = m_pProviderList->GetNext(pElem);
}
}
}