On Wednesday 24 April 2002 2:22 pm, Claus Hindsgaul wrote:
> tir, 2002-04-23 kl. 14:10 skrev Juergen Vigna:
> > Sorry again what version of LyX are you using? Are you using the current
> > cvs tree? I seem to see differences in the backtraces valgrind gives and
> > the sourcecode (for example there is no row->previous() in draw!).
>
> I have now deleted and checked out lyx-devel again from the CVS of
> today, rebuilt and produced a new lyxlog.txt the same way (yes, the bug
> is still there). The version of valgrind is printed in the header of the
> log-file.
>
> Did that help?
>
> Claus

Claus,
you still produce this in your valgrind report:

==5472== Invalid read of size 4
==5472==    at 0x81396F6: Row::previous(void) const (lyxrow.C:112)
==5472==    by 0x816E5B7: LyXText::draw(LyXText::DrawRowParams &, int &) (text.C:650)
==5472==    by 0x81798F8: LyXText::paintRowText(LyXText::DrawRowParams &) (text.C:3665)
==5472==    by 0x8179A80: LyXText::getVisibleRow(BufferView *, int, int, Row *, int, 
bool) (text.C:3724)
==5472==    Address 0x42F7ACFC is 32 bytes inside a block of size 36 free'd
==5472==    at 0x4003CDC2: __builtin_delete (vg_clientfuncs.c:171)
==5472==    by 0x817B03E: LyXText::removeRow(Row *) const (text2.C:377)
==5472==    by 0x81719D3: LyXText::breakAgain(BufferView *, Row *) const (text.C:1653)
==5472==    by 0x81813A4: LyXText::checkParagraph(BufferView *, Paragraph *, int) 
(text2.C:1961)

I have looked in text.C. Here's what I have at line 650:
        if (IsNewlineChar(c)) {
                ++vpos;
                drawNewline(p, pos);
                return;
        } else if (IsInsetChar(c)) {
                drawInset(p, pos);
line 650                ++vpos;
                drawForeignMark(p, orig_x, orig_font);
                return;
        }

As you can see, I'm not calling Row::previous(void) const at all. What does your 
source look like?

Angus

Reply via email to