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) ...