UpdateTosDistToRoot no longer calls UnattachDistToRoot (which incorrecly had a side effect of updating every to pointer recursively) and calls SetDistToRoot(UNATTACHED_DIST_TO_ROOT) instead.  This is a significant change even though it's only one line.