Fix crash when nsJavaXPTCStub represents a non-Mozilla class object. Not part of default build.

git-svn-id: svn://10.0.0.236/trunk@163126 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
pedemont%us.ibm.com
2004-10-01 23:08:34 +00:00
parent aa7312e84f
commit 777e6b1b68

View File

@@ -200,18 +200,22 @@ nsJavaXPTCStub::QueryInterface(const nsID &aIID, void **aInstancePtr)
PRBool
nsJavaXPTCStub::SupportsIID(const nsID &iid)
{
PRBool match;
nsCOMPtr<nsIInterfaceInfo> iter = mIInfo;
do
{
if (NS_SUCCEEDED(iter->IsIID(&iid, &match)) && match)
return PR_TRUE;
// Sometimes mIInfo will be null, particularly when nsJavaXPTCStub represents
// a custom (non-Mozilla) interface.
if (mIInfo) {
PRBool match;
nsCOMPtr<nsIInterfaceInfo> iter = mIInfo;
do
{
if (NS_SUCCEEDED(iter->IsIID(&iid, &match)) && match)
return PR_TRUE;
nsCOMPtr<nsIInterfaceInfo> parent;
iter->GetParent(getter_AddRefs(parent));
iter = parent;
nsCOMPtr<nsIInterfaceInfo> parent;
iter->GetParent(getter_AddRefs(parent));
iter = parent;
}
while (iter != nsnull);
}
while (iter != nsnull);
return PR_FALSE;
}