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:
@@ -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()
|
||||
|
||||
@@ -91,6 +91,9 @@ public:
|
||||
PRUint32 aType = NS_TYPE_ONE_SHOT
|
||||
);
|
||||
|
||||
// clean up statics
|
||||
static void Shutdown();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
virtual void Cancel();
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user