http://codereview.appspot.com/5371050/diff/1/lily/grob.cc File lily/grob.cc (right):
http://codereview.appspot.com/5371050/diff/1/lily/grob.cc#newcode536 lily/grob.cc:536: c = c->dim_cache_[a].parent_; On 2011/11/10 16:41:54, joeneeman wrote:
After this loop, balance will be 0, right? So the next loop won't do
anything... It seems to me that this is true ... unless balance was negative before the loop. That's what the next loop is handling, I believe. http://codereview.appspot.com/5371050/diff/1/lily/grob.cc#newcode542 lily/grob.cc:542: while (c != d) { On 2011/11/10 16:41:54, joeneeman wrote:
The old version would return 0 if there was no common refpoint (which
is
possible if the grob hierarchy hasn't been fully built yet). I'd
suggest a
"while (c && c != d)" to keep the old behavior.
The balancing code above ensures that the d and c chains are the same length. Therefore if there is no common refpoint, the loop will exit when c and d are both 0, which will maintain the old behavior. http://codereview.appspot.com/5371050/ _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel