> Hi, > > It seems that under some circumstances (seemed to happen with windows > with really small width) in [GSSimpleLayoutManager -textStorage: edited: > range: changeInLength: invalidatedRange:], the call to sizeToFit or > invalidateTextContainerOrigin ends up causing additional calls to > rebuildForRange:... (four when I've tested), and the further rebuilds > cause the number of lines to decrease, and thus the line range used in > setNeedsDisplayForLineRange:... won't be valid. This causes an exception > in setNeedsDisplayForLineRange:... > > I've attached a patch that makes setNeedsDisplayForLineRange return if > the line range is too large. I think this is correct if the other calls > make sure that they update the display properly. However, I haven't > investigated why there are so many calls to rebuildForRange:...
Thanks - that code looks like a mess :-) - we would need to investigate ... possibly better simply rewrite. In the meanwhile, I added your patch (sligthly modified) as the check it provides is better and at least we don't crash (I couldn't reproduce the crash though). _______________________________________________ Bug-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-gnustep
