allocate hashtable keys on the stack, not the heap. fixes leak (bug 28288). r=dp a=jar

git-svn-id: svn://10.0.0.236/trunk@61284 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
danm%netscape.com
2000-02-18 05:53:59 +00:00
parent 8c6cba6997
commit cdee6550d3

View File

@@ -122,7 +122,8 @@ NS_IMETHODIMP_(void) nsTimerManager::FireNextReadyTimer(PRUint32 minTimerPriorit
NS_IMETHODIMP_(void) nsTimerManager::AddTimer(UINT timerID, nsTimer* timer)
{
if (mTimers != nsnull) {
mTimers->Put(new nsVoidKey((void*)timerID), timer);
nsVoidKey key((void *) timerID);
mTimers->Put(&key, timer);
}
}
@@ -130,13 +131,17 @@ NS_IMETHODIMP_(void) nsTimerManager::AddTimer(UINT timerID, nsTimer* timer)
NS_IMETHODIMP_(void) nsTimerManager::RemoveTimer(UINT timerID)
{
if (mTimers != nsnull) {
mTimers->Remove(new nsVoidKey((void*)timerID));
nsVoidKey key((void *) timerID);
mTimers->Remove(&key);
}
}
NS_IMETHODIMP_(nsTimer*) nsTimerManager::GetTimer(UINT id)
NS_IMETHODIMP_(nsTimer*) nsTimerManager::GetTimer(UINT timerID)
{
return (nsTimer*) (mTimers != nsnull ?
(nsTimer*)mTimers->Get(new nsVoidKey((void*)id)) : nsnull);
if (mTimers != nsnull) {
nsVoidKey key((void *) timerID);
return (nsTimer *) mTimers->Get(&key);
}
return nsnull;
}