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:
@@ -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");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user