On Mon, 2005-11-07 at 09:44 +0100, Juergen Spitzmueller wrote: > Juergen Spitzmueller wrote: > > So it seems that in the crash scenario the cursor is entering the inset in > > some illegal way. > > No. The problem is that bv_funcs::coordOffset calls cursorPos() for all > insets. This triggers the assertion in insetcollapsable, because cursorPos() > should not be called there when the inset is collapsed. > > I see two solutions: > > 1. Don't call cursorPos() from coordOffset when the inset is not > HIGHLY_EDITABLE (which is also the case when collapsables are collapsed). > See attached patch #1.
I like this patch. Still wondering though, does it address the underlying problem (whatever that is)? At least it is located where the problem is. > 2. replace the assert by something like > if (status() == Collapsed) > return; > see patch #2. > (but I'm sure Alfredo implemented the assert for some reason). Yes. That's what I dislike about this solution. > Both approaches fix the crash, but auto-open a collapsable if the position > inside matches (I'm sure this can be suppressed somehow). I don't think this is a big problem... the inset closes again when you leave it. Cosmetic. > Comments? I think this will do for 1.4. - Martin
signature.asc
Description: This is a digitally signed message part