landing patch for bug 326273 "Implement nsIThreadManager" (Mac portions by Mark Mentovai) with reviews from bienvenu, bsmedberg, bzbarsky, josh, roc, and ssieb

Original committer: darin%meer.net
Original revision: 1.42
Original date: 2006/05/10 17:29:30


git-svn-id: svn://10.0.0.236/trunk@212707 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
pedemont%us.ibm.com
2006-09-27 15:19:11 +00:00
parent e6c085d55c
commit 3edd8d62f0

View File

@@ -42,7 +42,7 @@
#include "jni.h"
#include "nsIInterfaceInfoManager.h"
#include "nsILocalFile.h"
#include "nsEventQueueUtils.h"
#include "nsThreadUtils.h"
#include "nsProxyRelease.h"
@@ -742,11 +742,10 @@ JavaXPCOMInstance::JavaXPCOMInstance(nsISupports* aInstance,
JavaXPCOMInstance::~JavaXPCOMInstance()
{
// Need to release these objects on the main thread.
nsCOMPtr<nsIEventQueue> eventQ;
nsresult rv = NS_GetMainEventQ(getter_AddRefs(eventQ));
if (NS_SUCCEEDED(rv)) {
rv = NS_ProxyRelease(eventQ, mInstance);
rv += NS_ProxyRelease(eventQ, mIInfo);
nsCOMPtr<nsIThread> thread = do_GetMainThread();
if (thread) {
rv = NS_ProxyRelease(thread, mInstance);
rv |= NS_ProxyRelease(thread, mIInfo);
}
NS_ASSERTION(NS_SUCCEEDED(rv), "Failed to release using NS_ProxyRelease");
}