I don't like it.  The maximum range of a variable is an arbitrary value
and this "loop avoidance" will not do us much good on a 64-bit
architecture.

If this is a real concern, we should be either using a tortoise/hare
algorithm here in order to bomb out on circular references.

Or, much preferable, we should catch any such cases where the circular
reference is established.  This can only happen when an existing grob
already established as a parent of some other grob gets its parent
pointed to another existing grob.

Since it is much too late by the time Grob::common_refpoint is called to
figure out the culprit in the circular refpoint chain, that's close to
useless for debugging.

https://codereview.appspot.com/134600043/

_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to