Fix one-time leak of 5 nsVoidArray by freeing in module destructor. r=pavlov@netscape.com sr=scc@mozilla.org b=56747

git-svn-id: svn://10.0.0.236/trunk@81989 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
dbaron%fas.harvard.edu
2000-10-29 21:35:02 +00:00
parent dcf421d85f
commit 42fb5fdb76
3 changed files with 31 additions and 1 deletions

View File

@@ -382,6 +382,27 @@ nsresult nsTimerGtk::Init(nsITimerCallback *aCallback,
return NS_OK;
}
void nsTimerGtk::Shutdown()
{
delete nsTimerGtk::gHighestList;
nsTimerGtk::gHighestList = nsnull;
delete nsTimerGtk::gHighList;
nsTimerGtk::gHighList = nsnull;
delete nsTimerGtk::gNormalList;
nsTimerGtk::gNormalList = nsnull;
delete nsTimerGtk::gLowList;
nsTimerGtk::gLowList = nsnull;
delete nsTimerGtk::gLowestList;
nsTimerGtk::gLowestList = nsnull;
nsTimerGtk::gTimeoutAdded = PR_FALSE;
nsTimerGtk::gProcessingTimer = PR_FALSE;
}
NS_IMPL_ISUPPORTS1(nsTimerGtk, nsITimer)
void nsTimerGtk::Cancel()

View File

@@ -91,6 +91,9 @@ public:
PRUint32 aType = NS_TYPE_ONE_SHOT
);
// clean up statics
static void Shutdown();
NS_DECL_ISUPPORTS
virtual void Cancel();

View File

@@ -41,4 +41,10 @@ static nsModuleComponentInfo components[] =
nsTimerGtkConstructor }
};
NS_IMPL_NSGETMODULE("nsGtkTimerModule", components)
PR_STATIC_CALLBACK(void)
nsGtkTimerModuleDtor(nsIModule *self)
{
nsTimerGtk::Shutdown();
}
NS_IMPL_NSGETMODULE_WITH_DTOR("nsGtkTimerModule", components, nsGtkTimerModuleDtor)