Dov Feldstern wrote:

Okay, this time I have something a little more concrete, but I still don't know what it means:

If you make the screen wide enough such that there is enough room for the text after the inset to appear on the same line as the inset (and the text before it), then there's no crash. As soon as the text after the inset has to be placed on a new line, that's when you get the crash.

What led me to test this situation is the fact that the problem has something to do with the start_ variable in Bidi, but I don't understand any of this yet...

I'm becoming more and more convinced that this has something to do with the whole "boundary" thing. In http://www.lyx.org/trac/browser/lyx-devel/trunk/src/Cursor.cpp#L419 (inside the textRow() function, which is called on the line in which the crash occurs), we compute (I think) the row on which we are. I suspect that because of the boundary issue, someone is already thinking we're on the previous line (after the inset), while someone else is thinking we're on the next line (before the first character on the new line). This is causing someone else to think that the two rows are actually one, and thats' how we end up with a negative position...

Slowly zeroing in on this (I hope) ...



Reply via email to