]> git.lyx.org Git - lyx.git/blobdiff - src/Text.cpp
Fix bug #6284: missing space between # and text in math mode when using \mbox
[lyx.git] / src / Text.cpp
index 54ee1dac9b5f1e80a2af2d8cb7d3fa6ae2985409..1bf7d61135fc4fb8a809671a935e632f3c262cbf 100644 (file)
@@ -394,11 +394,11 @@ void Text::readParToken(Paragraph & par, Lexer & lex,
                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") {
@@ -406,7 +406,10 @@ void Text::readParToken(Paragraph & par, Lexer & lex,
                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") {
@@ -924,12 +927,11 @@ void Text::charInserted(Cursor & cur)
 
        // 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