Fix memory leaks. Make JavaXPCOMInstance hold ref to XPCOM object.

Original committer: pedemont%us.ibm.com
Original revision: 1.10
Original date: 2004/10/27 17:10:03


git-svn-id: svn://10.0.0.236/trunk@212582 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
pedemont%us.ibm.com
2006-09-27 15:17:06 +00:00
parent 70e161c65d
commit cddaef5f7b

View File

@@ -649,7 +649,10 @@ FinalizeParams(JNIEnv *env, const jobject aParam,
if (NS_FAILED(rv))
return rv;
inst = CreateJavaXPCOMInstance((nsISupports*) aVariant.val.p, &iid);
nsISupports* variant =
NS_REINTERPRET_CAST(nsISupports*, aVariant.val.p);
inst = CreateJavaXPCOMInstance(variant, &iid);
NS_RELEASE(variant); // JavaXPCOMInstance has owning ref
if (inst) {
// create java stub
@@ -816,7 +819,10 @@ SetRetval(JNIEnv *env, const nsXPTParamInfo &aParamInfo,
if (NS_FAILED(rv))
return rv;
inst = CreateJavaXPCOMInstance((nsISupports*) aVariant.val.p, &iid);
nsISupports* variant =
NS_REINTERPRET_CAST(nsISupports*, aVariant.val.p);
inst = CreateJavaXPCOMInstance(variant, &iid);
NS_RELEASE(variant); // JavaXPCOMInstance has owning ref
if (inst) {
// create java stub