diff --git a/src/Buffer.cpp b/src/Buffer.cpp index 437a64a7db..b6d9da14ae 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -1473,6 +1473,7 @@ void Buffer::writeLaTeXSource(otexstream & os, LYXERR(Debug::LATEX, " Validating buffer..."); LaTeXFeatures features(*this, params(), runparams); validate(features); + runparams.use_polyglossia = features.usePolyglossia(); LYXERR(Debug::LATEX, " Buffer validation done."); bool const output_preamble = @@ -1570,7 +1571,6 @@ void Buffer::writeLaTeXSource(otexstream & os, MacroSet parentMacros; listParentMacros(parentMacros, features); - runparams.use_polyglossia = features.usePolyglossia(); // Write the preamble runparams.use_babel = params().writeLaTeX(os, features, d->filename.onlyPath()); @@ -3336,6 +3336,12 @@ void Buffer::getSourceCode(odocstream & os, string const format, } else if (params().isDocBook()) { docbookParagraphs(text(), *this, os, runparams); } else { + // We need to validate the Buffer params' features here + // in order to know if we should output polyglossia + // macros (instead of babel macros) + LaTeXFeatures features(*this, params(), runparams); + params().validate(features); + runparams.use_polyglossia = features.usePolyglossia(); TexRow texrow; texrow.reset(); texrow.newline();