зеркало из https://github.com/mozilla/gecko-dev.git
Fix one-time leak of 5 nsVoidArray by freeing in module destructor. r=pavlov@netscape.com sr=scc@mozilla.org b=56747
This commit is contained in:
Родитель
de9a7e696c
Коммит
f186627f77
|
@ -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)
|
||||
|
|
Загрузка…
Ссылка в новой задаче