You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by jp...@locus.apache.org on 2000/07/07 20:41:54 UTC

cvs commit: xml-xerces/c/src/dom DocumentImpl.cpp NodeImpl.cpp

jpolast     00/07/07 11:41:53

  Modified:    c/src/dom DocumentImpl.cpp NodeImpl.cpp
  Log:
  userData fixes (delete from hashtable when node is deleted)
  
  Revision  Changes    Path
  1.27      +10 -4     xml-xerces/c/src/dom/DocumentImpl.cpp
  
  Index: DocumentImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/dom/DocumentImpl.cpp,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- DocumentImpl.cpp	2000/06/28 17:51:37	1.26
  +++ DocumentImpl.cpp	2000/07/07 18:41:53	1.27
  @@ -55,7 +55,7 @@
    */
   
   /*
  - * $Id: DocumentImpl.cpp,v 1.26 2000/06/28 17:51:37 jpolast Exp $
  + * $Id: DocumentImpl.cpp,v 1.27 2000/07/07 18:41:53 jpolast Exp $
    */
   
   //
  @@ -750,14 +750,20 @@
   
   void DocumentImpl::setUserData(NodeImpl* n, void* data)
   {
  -	if (!userData)
  +	if (!userData && data)
   		userData = new RefHashTableOf<void>(29, false, new HashPtr());
  -	userData->put((void*)n,data);
  +	if (!data && userData)
  +		userData->removeKey((void*)n);
  +	else
  +		userData->put((void*)n,data);
   }
   
   void* DocumentImpl::getUserData(NodeImpl* n)
   {
  -	return userData->get((void*)n);
  +	if (userData)
  +		return userData->get((void*)n);
  +	else
  +		return null;
   }
   
   void* DocumentImpl::getUserData()
  
  
  
  1.28      +5 -1      xml-xerces/c/src/dom/NodeImpl.cpp
  
  Index: NodeImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/dom/NodeImpl.cpp,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- NodeImpl.cpp	2000/06/28 17:51:38	1.27
  +++ NodeImpl.cpp	2000/07/07 18:41:53	1.28
  @@ -55,7 +55,7 @@
    */
   
   /*
  - * $Id: NodeImpl.cpp,v 1.27 2000/06/28 17:51:38 jpolast Exp $
  + * $Id: NodeImpl.cpp,v 1.28 2000/07/07 18:41:53 jpolast Exp $
    */
   
   // This class doesn't support having any children, and implements the behavior
  @@ -126,6 +126,10 @@
   
   
   NodeImpl::~NodeImpl() {
  +	if (getUserData())
  +	{
  +		setUserData(null);
  +	}
       NodeImpl::gLiveNodeImpls--;
   };