// Now remove all out of the pars which is NOT allowed in the
// new environment and set also another font if that is required.
+ // Convert newline to paragraph break in ERT inset.
+ // This should not be here!
+ if (pars[pit].inInset() &&
+ pars[pit].inInset()->lyxCode() == InsetBase::ERT_CODE) {
+ for (ParagraphList::size_type i = 0; i < insertion.size(); ++i) {
+ for (pos_type j = 0; j < insertion[i].size(); ++j) {
+ if (insertion[i].isNewline(j)) {
+ insertion[i].erase(j);
+ breakParagraphConservative(
+ buffer.params(),
+ insertion, i, j);
+ }
+ }
+ }
+ }
+
// Make sure there is no class difference.
lyx::cap::SwitchLayoutsBetweenClasses(textclass, tc, insertion,
errorlist);
// Set the inset owner of this paragraph.
tmpbuf->setInsetOwner(pars[pit].inInset());
for (pos_type i = 0; i < tmpbuf->size(); ++i) {
- if (tmpbuf->getChar(i) == Paragraph::META_INSET) {
- if (!pars[pit].insetAllowed(tmpbuf->getInset(i)->lyxCode()))
- tmpbuf->erase(i--);
- }
+ if (tmpbuf->getChar(i) == Paragraph::META_INSET &&
+ !pars[pit].insetAllowed(tmpbuf->getInset(i)->lyxCode()))
+ tmpbuf->erase(i--);
}
}
// need a valid cursor. (Lgb)
cur.clearSelection();
- text->updateCounters();
+ updateCounters(cur.buffer());
}
if (cur.inMathed()) {
cur.resetAnchor();
text->setCursor(cur, ppp.first, ppp.second);
cur.setSelection();
- text->updateCounters();
+ updateCounters(cur.buffer());
}
if (cur.inMathed()) {
for (InsetBase::col_type col = c1; col <= c2; ++col)
p->cell(p->index(row, col)).clear();
}
- cur.back() = i1;
+ cur.top() = i1;
cur.pos() = 0; // We've deleted the whole cell. Only pos 0 is valid.
cur.resetAnchor();
} else {