diff -r 93c3782a0a3b -r 718701e1595f uiacceltk/hitchcock/ServerCore/Src/alfnodes.cpp --- a/uiacceltk/hitchcock/ServerCore/Src/alfnodes.cpp Fri Sep 17 08:35:19 2010 +0300 +++ b/uiacceltk/hitchcock/ServerCore/Src/alfnodes.cpp Mon Oct 04 01:45:34 2010 +0300 @@ -1246,12 +1246,18 @@ } // Orphan all the children - CAlfNode* child = iChild; - while( child ) - { - child = child->OrphanMe(); - } + OrphanAll(iChild); iChild = NULL; + + OrphanAll(iAnimChild); + iAnimChild = NULL; + + OrphanAll(iSpriteChild); + iSpriteChild = NULL; + + OrphanAll(iTextCursor); + iTextCursor = NULL; + if ( iModel ) { iModel->RemoveNode( iId ); @@ -1353,6 +1359,18 @@ } // --------------------------------------------------------------------------- +// OrphanAll +// --------------------------------------------------------------------------- +// +void CAlfNode::OrphanAll(CAlfNode* aNode) + { + while (aNode) + { + aNode = aNode->OrphanMe(); + } + } + +// --------------------------------------------------------------------------- // CommitCommandsL // --------------------------------------------------------------------------- //