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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to