Changeset 5214 in orxonox.OLD for trunk/src/lib/coord
- Timestamp:
- Sep 21, 2005, 8:46:28 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lib/coord/p_node.cc
r5211 r5214 78 78 PNode::~PNode () 79 79 { 80 tIterator<PNode>* iterator = this->children->getIterator();81 PNode* pn = iterator->firstElement();82 while( pn != NULL)83 {84 delete pn;85 pn = iterator->nextElement();86 }87 delete iterator;88 /* this deletes all children in the list */89 delete this->children;90 80 if (this->parent) 91 81 this->parent->removeChild(this); 92 82 else 83 { 84 tIterator<PNode>* iterator = this->children->getIterator(); 85 PNode* pn = iterator->firstElement(); 86 while( pn != NULL) 87 { 88 delete pn; 89 pn = iterator->nextElement(); 90 } 91 delete iterator; 92 /* this deletes all children in the list */ 93 } 94 delete this->children; 93 95 if (this->toCoordinate != NULL) 94 96 delete this->toCoordinate; … … 422 424 void PNode::removeChild (PNode* child) 423 425 { 424 child->remove(); 425 this->children->remove(child); 426 child->parent = NULL; 426 if (child != NULL) 427 { 428 child->remove(); 429 // this->children->remove(child); 430 // child->parent = NULL; 431 } 427 432 } 428 433 … … 434 439 void PNode::remove() 435 440 { 436 NullParent* nullParent = NullParent::getInstance();437 438 441 tIterator<PNode>* iterator = this->children->getIterator(); 439 442 PNode* pn = iterator->firstElement(); … … 441 444 while( pn != NULL) 442 445 { 443 nullParent->addChild(pn, pn->getParentMode());446 NullParent::getInstance()->addChild(pn, pn->getParentMode()); 444 447 pn = iterator->nextElement(); 445 448 } 446 449 delete iterator; 447 this->parent->children->remove(this); 450 if (this->parent != NULL) 451 this->parent->children->remove(this); 448 452 } 449 453
Note: See TracChangeset
for help on using the changeset viewer.