]> git.lyx.org Git - lyx.git/blobdiff - src/bufferparams.C
Fix bug 2485 and crash on middle mouse paste on math
[lyx.git] / src / bufferparams.C
index 3d0a998a8650f6bd721f6881cd7b06b06c0c65e7..924b7e2698aed4cf8774ea87d7c411873df6cc30 100644 (file)
@@ -283,7 +283,7 @@ BufferParams::BufferParams()
          // true in the returned pair, then `second' is the textclass
          // number; if it is false, second is 0. In both cases, second
          // is what we want.
-       textclass(textclasslist.NumberOfClass("article").second),
+       textclass(textclasslist.numberOfClass("article").second),
        pimpl_(new Impl)
 {
        paragraph_separation = PARSEP_INDENT;
@@ -402,13 +402,22 @@ string const BufferParams::readToken(LyXLex & lex, string const & token)
                lex.next();
                string const classname = lex.getString();
                pair<bool, lyx::textclass_type> pp =
-                       textclasslist.NumberOfClass(classname);
+                       textclasslist.numberOfClass(classname);
                if (pp.first) {
                        textclass = pp.second;
                } else {
-                       textclass = 0;
-                       return classname;
+                       // if text class does not exist, try to load it from filepath
+                       pp = textclasslist.addTextClass(classname, filepath);
+                       if (pp.first) {
+                               textclass = pp.second;
+                       } else {        
+                               textclass = 0;
+                               return classname;
+                       }       
                }
+               // FIXME: isTeXClassAvailable will try to load the layout file, but will
+               // fail because of the lack of path info. Warnings will be given although
+               // the layout file will be correctly loaded later.
                if (!getLyXTextClass().isTeXClassAvailable()) {
                        string const msg =
                                bformat(_("The document uses a missing "
@@ -796,7 +805,7 @@ bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
 
        if (inputenc == "auto") {
                string const doc_encoding =
-                       language->encoding()->LatexName();
+                       language->encoding()->latexName();
 
                // Create a list with all the input encodings used
                // in the document