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]

Reply via email to