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:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user