Fixes Bug 15837 by instantiating the proper subtype of Node instead of Node.

Fixed by Igor Nekrestyanov <nis@sparc.spb.su>.
Reviewed by Akhil Arora <akhil.arora@sun.com>.


git-svn-id: svn://10.0.0.236/trunk@50270 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
akhil.arora%sun.com
1999-10-08 23:22:52 +00:00
parent bae6f56e4b
commit 9dcd28272e
2 changed files with 5 additions and 80 deletions

View File

@@ -83,22 +83,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_getNamedItem
return NULL;
}
jobject jnode = env->AllocObject(JavaDOMGlobals::nodeClass);
if (!jnode) {
JavaDOMGlobals::ThrowException(env,
"NamedNodeMap.getNamedItem: failed to allocate object");
return NULL;
}
env->SetLongField(jnode, JavaDOMGlobals::nodePtrFID, (jlong) node);
if (env->ExceptionOccurred()) {
JavaDOMGlobals::ThrowException(env,
"NamedNodeMap.getNamedItem: failed to set node ptr");
return NULL;
}
node->AddRef();
return jnode;
return JavaDOMGlobals::CreateNodeSubtype(env, node);
}
/*
@@ -125,22 +110,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_item
return NULL;
}
jobject jnode = env->AllocObject(JavaDOMGlobals::nodeClass);
if (!jnode) {
JavaDOMGlobals::ThrowException(env,
"NodeMap.item: failed to allocate object");
return NULL;
}
env->SetLongField(jnode, JavaDOMGlobals::nodePtrFID, (jlong) node);
if (env->ExceptionOccurred()) {
JavaDOMGlobals::ThrowException(env,
"NamedNodeMap.item: failed to set node ptr");
return NULL;
}
node->AddRef();
return jnode;
return JavaDOMGlobals::CreateNodeSubtype(env, node);
}
/*
@@ -182,22 +152,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_removeNamedItem
return NULL;
}
jobject jnode = env->AllocObject(JavaDOMGlobals::nodeClass);
if (!jnode) {
JavaDOMGlobals::ThrowException(env,
"NamedNodeMap.removeNamedItem: failed to allocate object");
return NULL;
}
env->SetLongField(jnode, JavaDOMGlobals::nodePtrFID, (jlong) node);
if (env->ExceptionOccurred()) {
JavaDOMGlobals::ThrowException(env,
"NamedNodeMap.removeNamedItem: failed to set node ptr");
return NULL;
}
node->AddRef();
return jnode;
return JavaDOMGlobals::CreateNodeSubtype(env, node);
}
/*
@@ -239,21 +194,6 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_setNamedItem
return NULL;
}
jobject jnode = env->AllocObject(JavaDOMGlobals::nodeClass);
if (!jnode) {
JavaDOMGlobals::ThrowException(env,
"NamedNodeMap.setNamedItem: failed to allocate object");
return NULL;
}
env->SetLongField(jnode, JavaDOMGlobals::nodePtrFID, (jlong) node);
if (env->ExceptionOccurred()) {
JavaDOMGlobals::ThrowException(env,
"NamedNodeMap.setNamedItem: failed to set node ptr");
return NULL;
}
node->AddRef();
return jnode;
return JavaDOMGlobals::CreateNodeSubtype(env, node);
}

View File

@@ -176,21 +176,6 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NodeListImpl_item
return NULL;
}
jobject jnode = env->AllocObject(JavaDOMGlobals::nodeClass);
if (!jnode) {
PR_LOG(JavaDOMGlobals::log, PR_LOG_ERROR,
("NodeList.item: failed to allocate object\n"));
return NULL;
}
env->SetLongField(jnode, JavaDOMGlobals::nodePtrFID, (jlong) node);
if (env->ExceptionOccurred()) {
PR_LOG(JavaDOMGlobals::log, PR_LOG_ERROR,
("NodeList.item: failed to set node ptr: %x\n", node));
return NULL;
}
node->AddRef();
return jnode;
return JavaDOMGlobals::CreateNodeSubtype(env, node);
}