void TimerUnit::reParentTimer( int childID, int oldParentID, int newParentID, int parentPosition, int childPosition ) { TTimer * pOldParent = getTimerPrivate( oldParentID ); TTimer * pNewParent = getTimerPrivate( newParentID ); TTimer * pChild = getTimerPrivate( childID ); if( ! pChild ) { return; } pChild->disableTimer( childID ); if( pOldParent ) { pOldParent->popChild( pChild ); } if( ! pOldParent ) { mTimerRootNodeList.remove( pChild ); } if( pNewParent ) { pNewParent->addChild( pChild, parentPosition, childPosition ); if( pChild ) pChild->setParent( pNewParent ); } else { pChild->Tree<TTimer>::setParent( 0 ); addTimerRootNode( pChild, parentPosition, childPosition ); } pChild->enableTimer( childID ); }