Author: rgheck
Date: Wed Jun 29 15:32:28 2011
New Revision: 39210
URL: http://www.lyx.org/trac/changeset/39210
Log:
Backport fix for #7463 to branch.
Modified:
lyx-devel/branches/BRANCH_2_0_X/src/output_xhtml.cpp
Modified: lyx-devel/branches/BRANCH_2_0_X/src/output_xhtml.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/output_xhtml.cpp Wed Jun 29
15:05:28 2011 (r39209)
+++ lyx-devel/branches/BRANCH_2_0_X/src/output_xhtml.cpp Wed Jun 29
15:32:28 2011 (r39210)
@@ -924,11 +924,20 @@
OutputParams const & runparams)
{
ParagraphList const & paragraphs = text.paragraphs();
- ParagraphList::const_iterator par = paragraphs.begin();
- ParagraphList::const_iterator pend = paragraphs.end();
+ if (runparams.par_begin == runparams.par_end) {
+ runparams.par_begin = 0;
+ runparams.par_end = paragraphs.size();
+ }
+ pit_type bpit = runparams.par_begin;
+ pit_type const epit = runparams.par_end;
+ LASSERT(bpit < epit, /* */);
OutputParams ourparams = runparams;
- while (par != pend) {
+ ParagraphList::const_iterator const pend =
+ (epit == (int) paragraphs.size()) ?
+ paragraphs.end() : paragraphs.constIterator(epit);
+ while (bpit < epit) {
+ ParagraphList::const_iterator par =
paragraphs.constIterator(bpit);
if (par->params().startOfAppendix()) {
// FIXME: only the counter corresponding to toplevel
// sectioning should be reset
@@ -937,7 +946,7 @@
cnts.appendix(true);
}
Layout const & style = par->layout();
- ParagraphList::const_iterator lastpar = par;
+ ParagraphList::const_iterator const lastpar = par;
ParagraphList::const_iterator send;
switch (style.latextype) {
@@ -974,10 +983,7 @@
par = makeParagraphs(buf, xs, ourparams, text, par,
send);
break;
}
- // FIXME??
- // makeEnvironment may process more than one paragraphs and
bypass pend
- if (distance(lastpar, par) >= distance(lastpar, pend))
- break;
+ bpit += distance(lastpar, par);
}
}