This 'when needed' is basically the time between first and second drawing phase. We need the rebreak to figure out the height of the InsetText, so it is needed in the metrics() phase. And once we've done it there there is no reason not to save the results up to the next draw() phase (which "immediately" follows)
I don't buy the 'too slow' argument as the functionalit is essentially there in mathed which is way faster than e.g. InsetTabular.
InsetTabular does NO row breaking! It is just one big object. The row breaking is ONLY done in InsetText and (as much as I know) InsetText "was" (at least I made it so) already ready for multiple LyXViews.
Jug
-- -._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._ Dr. Jürgen Vigna E-Mail: [EMAIL PROTECTED] Mitterstrich 151/A I-39050 Steinegg Web: http://www.lyx.org/~jug -._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._