Implement IID for nsJavaXPTCStub. Return associated Java object if returning nsJavaXPTCStub.
Original committer: pedemont%us.ibm.com Original revision: 1.13 Original date: 2004/10/18 17:04:29 git-svn-id: svn://10.0.0.236/trunk@212474 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -142,10 +142,19 @@ nsJavaXPTCStub::QueryInterface(const nsID &aIID, void **aInstancePtr)
|
||||
LOG("JavaStub::QueryInterface()\n");
|
||||
nsJavaXPTCStub *master = mMaster ? mMaster : this;
|
||||
|
||||
// This helps us differentiate between the help classes.
|
||||
if (aIID.Equals(NS_GET_IID(nsJavaXPTCStub)))
|
||||
{
|
||||
*aInstancePtr = master;
|
||||
NS_ADDREF(this);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// always return the master stub for nsISupports
|
||||
if (aIID.Equals(NS_GET_IID(nsISupports)))
|
||||
{
|
||||
*aInstancePtr = master;
|
||||
*aInstancePtr = NS_STATIC_CAST(nsISupports*,
|
||||
NS_STATIC_CAST(nsXPTCStubBase*, master));
|
||||
NS_ADDREF(master);
|
||||
return NS_OK;
|
||||
}
|
||||
@@ -153,7 +162,7 @@ nsJavaXPTCStub::QueryInterface(const nsID &aIID, void **aInstancePtr)
|
||||
// All Java objects support weak references
|
||||
if (aIID.Equals(NS_GET_IID(nsISupportsWeakReference)))
|
||||
{
|
||||
*aInstancePtr = (void*) NS_STATIC_CAST(nsISupportsWeakReference*, master);
|
||||
*aInstancePtr = NS_STATIC_CAST(nsISupportsWeakReference*, master);
|
||||
NS_ADDREF(master);
|
||||
return NS_OK;
|
||||
}
|
||||
@@ -217,7 +226,7 @@ nsJavaXPTCStub::QueryInterface(const nsID &aIID, void **aInstancePtr)
|
||||
}
|
||||
|
||||
*aInstancePtr = nsnull;
|
||||
return NS_OK;
|
||||
return NS_NOINTERFACE;
|
||||
}
|
||||
|
||||
PRBool
|
||||
@@ -618,7 +627,7 @@ nsJavaXPTCStub::SetupJavaParams(const nsXPTParamInfo &aParamInfo,
|
||||
case nsXPTType::T_INTERFACE:
|
||||
case nsXPTType::T_INTERFACE_IS:
|
||||
{
|
||||
jobject java_stub;
|
||||
jobject java_stub = nsnull;
|
||||
if (aVariant.val.p) {
|
||||
java_stub = GetMatchingJavaObject(mJavaEnv, aVariant.val.p);
|
||||
|
||||
@@ -646,8 +655,6 @@ nsJavaXPTCStub::SetupJavaParams(const nsXPTParamInfo &aParamInfo,
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
java_stub = nsnull;
|
||||
}
|
||||
|
||||
if (!aParamInfo.IsOut()) {
|
||||
|
||||
Reference in New Issue
Block a user