if (!isMainText())
applyOuterFont(font);
- // Find the pit value belonging to paragraph. This will not break
+ // Find the pit value belonging to paragraph. This will not break
// even if pars_ would not be a vector anymore.
// Performance appears acceptable.
linestr[i] = ' ';
newline_inserted = true;
}
- } else if (IsPrintable(linestr[i])) {
+ } else if (isPrintable(linestr[i])) {
newline_inserted = false;
}
}
// This should be just before or just behind the
// cursor position set above.
BOOST_ASSERT((pos != 0 && inset == pars_[pit].getInset(pos - 1))
- || inset == pars_[pit].getInset(pos));
+ || inset == pars_[pit].getInset(pos));
// Make sure the cursor points to the position before
// this inset.
if (inset == pars_[pit].getInset(pos - 1))
max(old.pit() - 1, pit_type(0)),
min(old.pit() + 1, old.lastpit()));
ParagraphList & plist = old.text()->paragraphs();
- plist.erase(plist.begin() + old.pit());
+ plist.erase(boost::next(plist.begin(), old.pit()));
// see #warning above
if (cur.depth() >= old.depth()) {
CursorSlice & curslice = cur[old.depth() - 1];
- if (&curslice.inset() == &old.inset()
+ if (&curslice.inset() == &old.inset()
&& curslice.pit() > old.pit()) {
--curslice.pit();
// since a paragraph has been deleted, all the
cur.resetAnchor();
}
}
- updateCounters(old.buffer());
+ ParIterator par_it(old);
+ if (needsUpdateCounters(old.buffer(), par_it))
+ updateCounters(old.buffer());
return true;
}