gareth 2003/05/29 04:57:57 Modified: c/src/xercesc/dom/impl DOMDocumentImpl.cpp Log: Fix to bug #16817. Non leaf nodes and attributes now get notified of release. Patch by Nathan Codding. Revision Changes Path 1.44 +14 -9 xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.cpp Index: DOMDocumentImpl.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.cpp,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- DOMDocumentImpl.cpp 23 May 2003 17:07:41 -0000 1.43 +++ DOMDocumentImpl.cpp 29 May 2003 11:57:57 -0000 1.44 @@ -1327,16 +1327,21 @@ void DOMDocumentImpl::releaseDocNotifyUserData(DOMNode* object) { DOMNode *child = object->getFirstChild(); - if (child != 0) + + while( child != 0) { - while( child != 0) - { - releaseDocNotifyUserData(child); - child = child->getNextSibling(); - } + + DOMNamedNodeMap *attrlist=child->getAttributes(); + + if(attrlist!=0) + for(XMLSize_t i=0;i<attrlist->getLength();++i) + releaseDocNotifyUserData(attrlist->item(i)); + + releaseDocNotifyUserData(child); + child = child->getNextSibling(); } - else - castToNodeImpl(object)->callUserDataHandlers(DOMUserDataHandler::NODE_DELETED, 0, 0); + + castToNodeImpl(object)->callUserDataHandlers(DOMUserDataHandler::NODE_DELETED, 0, 0); } void DOMDocumentImpl::release(DOMNode* object, NodeObjectType type)
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]