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:
dbaron%fas.harvard.edu 2000-10-29 21:35:02 +00:00
Родитель de9a7e696c
Коммит f186627f77
3 изменённых файлов: 31 добавлений и 1 удалений

Просмотреть файл

@ -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)