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

This commit is contained in:
pedemont@us.ibm.com
2004-10-01 23:08:34 +00:00
parent f96d62629e
commit e520a4ec84
+14 -10
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;
}