John Levon wrote: > Well, I think so. It looks like this : > > bv.update() > screen().draw() > RowPainter.paint() > ^ inset.draw() > | for_each_row_in_lyxtext_of_inset() > \-----------------------RowPainter.paint() > > john
So it seems to me that the postRowPaint thing is only useful for the outer insettext: if something changes on a row of a inner insettext, a postPaint is called also for the outer containing row as you pointed out, and as this could eventually change the position of the inner inset, then this one needs to be redrawn completely, right? In general: a 'dirty' (postPaint) mark on an outer row will end by redrawing completely all included insets. A dirty mark on an inner inset will mark dirty the outer row and redo the above, ending by redrawing the inset completely. Alfredo