summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Burdess <dog@bluezoo.org>2007-07-09 17:56:30 +0000
committerChris Burdess <dog@bluezoo.org>2007-07-09 17:56:30 +0000
commit0a17148e2d1c0cf8610680d5ca1f727f2f2a37ea (patch)
tree2f8e73793cbdaf1b2179990f8daef67afe5450cb
parent9afb84648bf4fc9cfa9dd2ee4dd5937a71338e4d (diff)
downloadclasspath-0a17148e2d1c0cf8610680d5ca1f727f2f2a37ea.tar.gz
2007-07-09 Chris Burdess <dog@gnu.org>
* gnu/xml/dom/DomElement.java, * gnu/xml/dom/DomNamedNodeMap.java: don't check owner in setNamedNode when cloning.
-rw-r--r--ChangeLog7
-rw-r--r--gnu/xml/dom/DomElement.java2
-rw-r--r--gnu/xml/dom/DomNamedNodeMap.java8
3 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 2a689b775..bf4686316 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-07-09 Chris Burdess <dog@gnu.org>
+
+ Fixes #32672
+ * gnu/xml/dom/DomElement.java,
+ * gnu/xml/dom/DomNamedNodeMap.java: don't check owner in
+ setNamedNode when cloning.
+
2007-07-08 Mario Torre <neugens@limasoftware.net>
* gnu/javax/sound/sampled/gstreamer: new package hierarchy.
diff --git a/gnu/xml/dom/DomElement.java b/gnu/xml/dom/DomElement.java
index f55b084cc..9fd81e970 100644
--- a/gnu/xml/dom/DomElement.java
+++ b/gnu/xml/dom/DomElement.java
@@ -124,7 +124,7 @@ public class DomElement
node.attributes = new DomNamedNodeMap(node, Node.ATTRIBUTE_NODE);
for (DomNode ctx = attributes.first; ctx != null; ctx = ctx.next)
{
- node.attributes.setNamedItemNS(ctx.cloneNode(true));
+ node.attributes.setNamedItem(ctx.cloneNode(true), true, true);
}
}
return node;
diff --git a/gnu/xml/dom/DomNamedNodeMap.java b/gnu/xml/dom/DomNamedNodeMap.java
index e3f08e4b4..e37cc3dce 100644
--- a/gnu/xml/dom/DomNamedNodeMap.java
+++ b/gnu/xml/dom/DomNamedNodeMap.java
@@ -148,7 +148,7 @@ public class DomNamedNodeMap
*/
public Node setNamedItem(Node arg)
{
- return setNamedItem(arg, false);
+ return setNamedItem(arg, false, false);
}
/**
@@ -160,10 +160,10 @@ public class DomNamedNodeMap
*/
public Node setNamedItemNS(Node arg)
{
- return setNamedItem(arg, true);
+ return setNamedItem(arg, true, false);
}
- Node setNamedItem(Node arg, boolean ns)
+ Node setNamedItem(Node arg, boolean ns, boolean cloning)
{
if (readonly)
{
@@ -171,7 +171,7 @@ public class DomNamedNodeMap
}
DomNode node = (DomNode) arg;
- if (node.owner != owner.owner)
+ if (!cloning && node.owner != owner.owner)
{
throw new DomDOMException(DOMException.WRONG_DOCUMENT_ERR);
}