Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes:
| Another leak spotted by purify:
|
| MLK: 9856 bytes leaked in 3 blocks
| This memory was allocated from:
| malloc [rtlib.o]
|
|insert_aux__t6vector2ZQ212LyXParagraph9FontTableZt24__default_alloc_template2b0i0PQ212LyXParagraph9FontTableRCQ212LyXParagraph9FontTable
| [stl_alloc.h:151]
| LyXParagraph::SetFont(int,const LyXFont&) [stl_vector.h:164]
| ++finish;
| }
| else
| => insert_aux(position, x);
| return begin() + n;
| }
| iterator insert(iterator position) { return insert(position,
|T()); }
| LyXParagraph::InsertChar(int,char,const LyXFont&) [paragraph.C:679]
|
|Buffer::parseSingleLyXformat2Token(LyXLex&,LyXParagraph*&,LyXParagraph*&,const
|lyxstring&,int&,char&,LyXFont&,LyXParagraph::footnote_flag&,LyXParagraph::footnote_kind&)
| [buffer.C:920]
| LyXTabular::OldFormatRead(LyXLex&,const lyxstring&) [tabular.C:1289]
| Block of 5632 bytes at 0x7f1dd0
| Block of 2816 bytes at 0xb4aee8
| Block of 1408 bytes at 0xa91130
|
|
| I am not sure whether this heppens for _each_ call to SetFont, but I
| wonder whether calls like
| fontlist.insert(fontlist.begin() + i+1,
| FontTable(pos, font));
| create a copy of the fonttabe before inserting in the fontlist,
| therefore leaking the object created by FontTable().
|
| Lars? A comment?
This shouldn't leak. And yes, it is a copy of FontTable(pos, font)
which is inserted into the fontlist. But the FontTable destructor and
LyXfont's destructor should take care of cleaning up in this case.
This could be a but in te vector template.
Lgb