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:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user