commit ead148510bc78116f8367bd061833e05e5e85949
Author: Enrico Forestieri <for...@lyx.org>
Date:   Tue May 16 22:02:42 2017 +0200

    Amend bfe0d52e
    
    Was forgetting to account for babel.
---
 src/output_latex.cpp |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/output_latex.cpp b/src/output_latex.cpp
index 166c7ac..2a4f612 100644
--- a/src/output_latex.cpp
+++ b/src/output_latex.cpp
@@ -212,10 +212,9 @@ static TeXEnvironmentData prepareEnvironment(Buffer const 
& buf,
 
        // For polyglossia, switch language outside of environment, if possible.
        if (par_lang != prev_par_lang) {
-               if (langOpenedAtThisLevel(state) &&
+               if ((!use_polyglossia || langOpenedAtThisLevel(state)) &&
                    !lang_end_command.empty() &&
                    prev_par_lang != doc_lang &&
-                   atSameLastLangSwitchDepth(state) &&
                    !prev_par_lang.empty()) {
                        os << from_ascii(subst(
                                lang_end_command,
@@ -813,7 +812,7 @@ void TeXOnePar(Buffer const & buf,
                                          && priorpar->getDepth() <= 
par.getDepth())
                                  || priorpar->getDepth() < par.getDepth())))
        {
-               if (langOpenedAtThisLevel(state) &&
+               if ((!use_polyglossia || langOpenedAtThisLevel(state)) &&
                    !lang_end_command.empty() &&
                    prev_lang != outer_lang &&
                    !prev_lang.empty() &&
@@ -1111,7 +1110,8 @@ void TeXOnePar(Buffer const & buf,
                                        if (use_polyglossia)
                                                
pushPolyglossiaLang(current_lang, localswitch);
                                }
-                       } else if (langOpenedAtThisLevel(state) &&
+                       } else if ((!use_polyglossia ||
+                                   langOpenedAtThisLevel(state)) &&
                                   !par_lang.empty()) {
                                // If we are in an environment, we have to
                                // close the "outer" language afterwards

Reply via email to