]> git.lyx.org Git - lyx.git/blobdiff - src/Text.cpp
- UI support for the LaTeX-package undertilde, fileformat change, fixed the remaining...
[lyx.git] / src / Text.cpp
index c231bcea8e8526ef64b58d37caa154832a7190fc..8996a795d1af67c9fc36790ab247c9b77112d3d1 100644 (file)
@@ -356,7 +356,13 @@ void Text::readParToken(Paragraph & par, Lexer & lex,
                // of this document. For example, when you apply class article to a beamer document,
                // all unknown layouts such as frame will be added to document class article so that
                // these layouts can keep their original names.
-               tclass.addLayoutIfNeeded(layoutname);
+               bool const added_one = tclass.addLayoutIfNeeded(layoutname);
+               if (added_one) {
+                       // Warn the user.
+                       docstring const s = bformat(_("Layout `%1$s' was not found."), layoutname);
+                       errorList.push_back(
+                               ErrorItem(_("Layout Not Found"), s, par.id(), 0, par.size()));
+               }
 
                par.setLayout(bp.documentClass()[layoutname]);
 
@@ -1243,7 +1249,11 @@ void Text::acceptOrRejectChanges(Cursor & cur, ChangeOp op)
 
                pos_type left  = (pit == begPit ? begPos : 0);
                pos_type right = (pit == endPit ? endPos : parSize);
-
+               
+               if (left == right)
+                       // there is no change here
+                       continue;
+               
                if (op == ACCEPT) {
                        pars_[pit].acceptChanges(left, right);
                } else {
@@ -1641,7 +1651,17 @@ bool Text::dissolveInset(Cursor & cur)
        spit += cur.pit();
        Buffer & b = *cur.buffer();
        cur.paragraph().eraseChar(cur.pos(), b.params().trackChanges);
+
        if (!plist.empty()) {
+               // see bug 7319
+               // we clear the cache so that we won't get conflicts with labels
+               // that get pasted into the buffer. we should update this before
+               // its being empty matters. if not (i.e., if we encounter bugs),
+               // then this should instead be:
+               //        cur.buffer().updateBuffer();
+               // but we'll try the cheaper solution here.
+               cur.buffer()->clearReferenceCache();
+
                // ERT paragraphs have the Language latex_language.
                // This is invalid outside of ERT, so we need to
                // change it to the buffer language.