From 1f6755259dd72dfffd0da144c50d2dbc12705abc Mon Sep 17 00:00:00 2001 From: "bnesse%netscape.com" Date: Tue, 30 Oct 2001 22:57:44 +0000 Subject: [PATCH] Fix for bug 177585. Don't request the observer service when shutting down. r=dougt, sr=alecf. git-svn-id: svn://10.0.0.236/trunk@106727 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/modules/libpref/src/nsPrefBranch.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mozilla/modules/libpref/src/nsPrefBranch.cpp b/mozilla/modules/libpref/src/nsPrefBranch.cpp index 696904da9d9..6123e3aea10 100644 --- a/mozilla/modules/libpref/src/nsPrefBranch.cpp +++ b/mozilla/modules/libpref/src/nsPrefBranch.cpp @@ -119,6 +119,7 @@ nsPrefBranch::nsPrefBranch(const char *aPrefRoot, PRBool aDefaultBranch) do_GetService(NS_OBSERVERSERVICE_CONTRACTID); if (observerService) { ++mRefCnt; // Our refcnt must be > 0 when we call this, or we'll get deleted! + // add weak so we don't have to clean up at shutdown observerService->AddObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID, PR_TRUE); --mRefCnt; } @@ -127,10 +128,6 @@ nsPrefBranch::nsPrefBranch(const char *aPrefRoot, PRBool aDefaultBranch) nsPrefBranch::~nsPrefBranch() { freeObserverList(); - nsCOMPtr observerService = - do_GetService(NS_OBSERVERSERVICE_CONTRACTID); - if (observerService) - observerService->RemoveObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID); }