knoaman 2002/07/26 09:35:18
Modified: c/src/xercesc/dom/impl DOMNodeImpl.cpp
Log:
For a given DOM Element and DOM DocumentType node, explicitly cast to
the implementation of that DOM node when calling setReadOnly.
Revision Changes Path
1.8 +21 -5 xml-xerces/c/src/xercesc/dom/impl/DOMNodeImpl.cpp
Index: DOMNodeImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMNodeImpl.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- DOMNodeImpl.cpp 25 Jul 2002 12:37:35 -0000 1.7
+++ DOMNodeImpl.cpp 26 Jul 2002 16:35:16 -0000 1.8
@@ -63,7 +63,8 @@
// The ParentNode subclass overrides this behavior.
-#include "DOMNodeImpl.hpp"
+#include "DOMDocumentTypeImpl.hpp"
+#include "DOMElementImpl.hpp"
#include "DOMCasts.hpp"
#include "DOMDocumentImpl.hpp"
@@ -280,9 +281,24 @@
if (deep) {
for (DOMNode *mykid = castToNode(this)->getFirstChild();
mykid != 0;
- mykid = mykid->getNextSibling())
- if(mykid->getNodeType() != DOMNode::ENTITY_REFERENCE_NODE)
- castToNodeImpl(mykid)->setReadOnly(readOnl,true);
+ mykid = mykid->getNextSibling()) {
+
+ short kidNodeType = mykid->getNodeType();
+
+ switch (kidNodeType) {
+ case DOMNode::ENTITY_REFERENCE_NODE:
+ break;
+ case DOMNode::ELEMENT_NODE:
+ ((DOMElementImpl*) mykid)->setReadOnly(readOnl, true);
+ break;
+ case DOMNode::DOCUMENT_TYPE_NODE:
+ ((DOMDocumentTypeImpl*) mykid)->setReadOnly(readOnl, true);
+ break;
+ default:
+ castToNodeImpl(mykid)->setReadOnly(readOnl, true);
+ break;
+ }
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]