lex.next();
setLyXColor(lex.getString(), font.fontInfo());
} else if (token == "\\SpecialChar") {
- auto_ptr<Inset> inset;
- inset.reset(new InsetSpecialChar);
- inset->read(lex);
- par.insertInset(par.size(), inset.release(),
- font, change);
+ auto_ptr<Inset> inset;
+ inset.reset(new InsetSpecialChar);
+ inset->read(lex);
+ inset->setBuffer(const_cast<Buffer &>(buf));
+ par.insertInset(par.size(), inset.release(), font, change);
} else if (token == "\\backslash") {
par.appendChar('\\', font, change);
} else if (token == "\\LyXTable") {
inset->read(lex);
par.insertInset(par.size(), inset.release(), font, change);
} else if (token == "\\lyxline") {
- par.insertInset(par.size(), new InsetLine, font, change);
+ auto_ptr<Inset> inset;
+ inset.reset(new InsetLine);
+ inset->setBuffer(const_cast<Buffer &>(buf));
+ par.insertInset(par.size(), inset.release(), font, change);
} else if (token == "\\change_unchanged") {
change = Change(Change::UNCHANGED);
} else if (token == "\\change_inserted" || token == "\\change_deleted") {
// Here we call finishUndo for every 20 characters inserted.
// This is from my experience how emacs does it. (Lgb)
- static unsigned int counter;
- if (counter < 20) {
- ++counter;
+ if (undo_counter_ < 20) {
+ ++undo_counter_;
} else {
cur.finishUndo();
- counter = 0;
+ undo_counter_ = 0;
}
// register word if a non-letter was entered
readParagraph(pars_.back(), lex, errorList);
// register the words in the global word list
- CursorSlice sl = CursorSlice(*insetPtr);
- sl.pit() = pars_.size() - 1;
pars_.back().updateWords();
} else if (token == "\\begin_deeper") {
++depth;