diff --git a/xpcom/threads/nsThread.cpp b/xpcom/threads/nsThread.cpp index 5e5b89d18f..ed67fa6594 100644 --- a/xpcom/threads/nsThread.cpp +++ b/xpcom/threads/nsThread.cpp @@ -1217,7 +1217,8 @@ nsThread::SetObserver(nsIThreadObserver* aObs) } MutexAutoLock lock(mLock); - mObserver = aObs; + nsCOMPtr observer = aObs; + mObserver.swap(observer); return NS_OK; }