performance fix.

* InsetFloat::addToToc(): avoid a string copy, a map lookup and a TocItem construction. Don't complete the loop if item found.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16600 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Abdelrazak Younes 2007-01-08 11:35:55 +00:00
parent 42b83ba362
commit c2dee509d9

View File

@ -384,12 +384,12 @@ void InsetFloat::addToToc(TocList & toclist, Buffer const & buf) const
// Find a caption layout in one of the (child inset's) pars // Find a caption layout in one of the (child inset's) pars
for (; pit != end; ++pit) { for (; pit != end; ++pit) {
if (pit->layout()->labeltype == LABEL_SENSITIVE) { if (pit->layout()->labeltype == LABEL_SENSITIVE) {
string const type = params_.type; Toc & toc = toclist[params_.type];
docstring const str = docstring const str =
convert<docstring>(toclist[type].size() + 1) convert<docstring>(toc.size() + 1)
+ ". " + pit->asString(buf, false); + ". " + pit->asString(buf, false);
TocItem const item(pit, 0, str); toc.push_back(TocItem(pit, 0, str));
toclist[type].push_back(item); return;
} }
} }
} }