Am 30.05.2007 um 20:32 schrieb Andre Poenitz:

On Wed, May 30, 2007 at 05:56:35PM +0200, Abdelrazak Younes wrote:
Stefan Schimanski wrote:
Hi!

Here is a patch for a crash that happens due to a cell not in the coord
cache during the drawing of the selection. It could be that this is
related (and also fixes) http://bugzilla.lyx.org/show_bug.cgi? id=3715 .

I believe the problem is when an inset derived from InsetMathNest does not draw all its cells, and hence a cell is not in the coord cache yet.
Then the warm up call in InsetMathNest::drawSelection cannot get the
cell into the cache and the loop over all cells at the bottom of this
very function will trigger an assertion.

You can trigger this crash in Beta 3 or 1.5svn like this:

New document, Ctrl-M \ref <space> <shift-right>

With this patch the <shift-right> seems to have no effect. Haven't
checked why. But at least the segfault is gone.

Probably because the cell is not in the cache. The patch looks good and
safe.

An interesting question might be: "Why was it not in the cache?".

My guess is that the ref was empty and therefore not drawn. Feel free to take your favourite debugger to confirm. But I think that's not too uncommon that a cell is not drawn I think. Also in the MathMacros don't do it if a argument does not appear in the definition. There might be others.

Stefan

Attachment: PGP.sig
Description: Signierter Teil der Nachricht

Reply via email to