Bug 301082 xpcom-shutdown is too late to destroy cached compose window; instead use quit-application which guards against reentrancy r+sr=bienvenu a=bsmedberg

This commit is contained in:
neil%parkwaycc.co.uk 2005-07-19 23:22:42 +00:00
parent 50489e7ca4
commit 3e7fedbb25

View File

@ -186,7 +186,7 @@ nsresult nsMsgComposeService::Init()
nsCOMPtr<nsIObserverService> observerService = do_GetService("@mozilla.org/observer-service;1", &rv);
if (NS_SUCCEEDED(rv))
{
rv = observerService->AddObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID, PR_TRUE);
rv = observerService->AddObserver(this, "quit-application", PR_TRUE);
rv = observerService->AddObserver(this, "profile-do-change", PR_TRUE);
}
@ -335,7 +335,7 @@ void nsMsgComposeService::CloseWindow(nsIDOMWindowInternal *domWindow)
NS_IMETHODIMP
nsMsgComposeService::Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *someData)
{
if (!strcmp(aTopic,"profile-do-change") || !strcmp(aTopic,NS_XPCOM_SHUTDOWN_OBSERVER_ID))
if (!strcmp(aTopic, "profile-do-change") || !strcmp(aTopic, "quit-application"))
{
DeleteCachedWindows();
return NS_OK;