From b2a5f41a0a22e3ed00b68164018dc6397e92fc30 Mon Sep 17 00:00:00 2001
From: Tinny Ng <tng@apache.org>
Date: Wed, 27 Mar 2002 18:06:24 +0000
Subject: [PATCH] [Bug 3010] DocumentImpl::importNode - Missed Readonly Flag
 Restore.

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@173593 13f79535-47bb-0310-9956-ffa450edef68
---
 src/xercesc/dom/DocumentImpl.cpp    | 6 +++---
 src/xercesc/idom/IDDocumentImpl.cpp | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/xercesc/dom/DocumentImpl.cpp b/src/xercesc/dom/DocumentImpl.cpp
index dd48df35a..9356a3c1f 100644
--- a/src/xercesc/dom/DocumentImpl.cpp
+++ b/src/xercesc/dom/DocumentImpl.cpp
@@ -593,7 +593,7 @@ NodeImpl *DocumentImpl::importNode(NodeImpl *source, bool deep)
             newentity->setNotationName(srcentity->getNotationName());
             // Kids carry additional value
             newnode=newentity;
-            newentity->isReadOnly(false);// allow deep import temporarily
+            newentity->setReadOnly(false, true);// allow deep import temporarily
         }
         break;
     case DOM_Node::PROCESSING_INSTRUCTION_NODE :
@@ -662,8 +662,8 @@ NodeImpl *DocumentImpl::importNode(NodeImpl *source, bool deep)
             newnode->appendChild(importNode(srckid, true));
         }
     if (newnode->getNodeType() == DOM_Node::ENTITY_REFERENCE_NODE
-        || newnode->getNodeType() == DOM_Node::ENTITY_REFERENCE_NODE)
-	newnode->isReadOnly(true);
+        || newnode->getNodeType() == DOM_Node::ENTITY_NODE)
+         ((EntityReferenceImpl*)newnode)->setReadOnly(true, true);
 
     return newnode;
 };
diff --git a/src/xercesc/idom/IDDocumentImpl.cpp b/src/xercesc/idom/IDDocumentImpl.cpp
index 4f70f6f06..a725a49c5 100644
--- a/src/xercesc/idom/IDDocumentImpl.cpp
+++ b/src/xercesc/idom/IDDocumentImpl.cpp
@@ -567,7 +567,7 @@ IDOM_Node *IDDocumentImpl::importNode(IDOM_Node *source, bool deep)
             newentity->setNotationName(srcentity->getNotationName());
             // Kids carry additional value
             newnode=newentity;
-            castToNodeImpl(newentity)->isReadOnly(false);// allow deep import temporarily
+            castToNodeImpl(newentity)->setReadOnly(false, true);// allow deep import temporarily
         }
         break;
     case IDOM_Node::PROCESSING_INSTRUCTION_NODE :
@@ -636,8 +636,8 @@ IDOM_Node *IDDocumentImpl::importNode(IDOM_Node *source, bool deep)
             newnode->appendChild(importNode(srckid, true));
         }
         if (newnode->getNodeType() == IDOM_Node::ENTITY_REFERENCE_NODE
-            || newnode->getNodeType() == IDOM_Node::ENTITY_REFERENCE_NODE)
-            castToNodeImpl(newnode)->isReadOnly(true);
+            || newnode->getNodeType() == IDOM_Node::ENTITY_NODE)
+            castToNodeImpl(newnode)->setReadOnly(true, true);
 
         return newnode;
 }
-- 
GitLab