Only master XPTCStub should hold strong ref to Java object. Not part of default build.

git-svn-id: svn://10.0.0.236/trunk@163363 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
pedemont%us.ibm.com
2004-10-07 15:11:34 +00:00
parent 76b16da519
commit 95db29b9df
2 changed files with 78 additions and 31 deletions

View File

@@ -54,7 +54,8 @@ public:
NS_DECL_ISUPPORTS
NS_DECL_NSISUPPORTSWEAKREFERENCE
nsJavaXPTCStub(JNIEnv* aJavaEnv, jobject aJavaObject, nsIInterfaceInfo *aIInfo);
nsJavaXPTCStub(JNIEnv* aJavaEnv, jobject aJavaObject,
nsIInterfaceInfo *aIInfo, nsJavaXPTCStub* aMaster = nsnull);
virtual ~nsJavaXPTCStub();
@@ -67,6 +68,9 @@ public:
const nsXPTMethodInfo *aInfo,
nsXPTCMiniVariant *aParams);
// getter for mJavaObject
jobject GetJavaObject();
private:
// NS_HIDDEN ~JavaStub();
@@ -94,11 +98,11 @@ private:
jvalue &aJValue);
nsresult SetXPCOMRetval();
JNIEnv* mJavaEnv;
jobject mJavaObject;
nsCOMPtr<nsIInterfaceInfo> mIInfo;
JNIEnv* mJavaEnv;
jobject mJavaObject;
nsCOMPtr<nsIInterfaceInfo> mIInfo;
nsVoidArray mChildren; // weak references (cleared by the children)
nsVoidArray mChildren; // weak references (cleared by the children)
nsJavaXPTCStub *mMaster; // strong reference
};