]> git.lyx.org Git - features.git/commitdiff
Fix crash with polyglossia and intitle commands when lang_auto_end is false
authorJuergen Spitzmueller <spitz@lyx.org>
Thu, 21 Nov 2019 07:38:21 +0000 (08:38 +0100)
committerJuergen Spitzmueller <spitz@lyx.org>
Thu, 21 Nov 2019 08:37:05 +0000 (09:37 +0100)
(cherry picked from commit ed44bc9b12c0385eccf9323159365ae96b1b4f19)

src/output_latex.cpp
status.23x

index 24e5b7fb819d661511d4321c3b4288ab83f4c736..26a0357d1127aab69c3c6adb6ab5bd82f07515ab 100644 (file)
@@ -749,6 +749,10 @@ void TeXOnePar(Buffer const & buf,
                ? 0 : &paragraphs.at(pit + 1);
 
        bool const intitle_command = style.intitle && style.latextype == LATEX_COMMAND;
+       // Intitle commands switch languages locally, thus increase
+       // language nesting level
+       if (intitle_command)
+               state->nest_level_ += 1;
 
        if (style.pass_thru) {
                Font const outerfont = text.outerFont(pit);
@@ -1367,6 +1371,10 @@ void TeXOnePar(Buffer const & buf,
                }
        }
 
+       // Reset language nesting level after intitle command
+       if (intitle_command)
+               state->nest_level_ -= 1;
+
        LYXERR(Debug::LATEX, "TeXOnePar for paragraph " << pit << " done; ptr "
                << &par << " next " << nextpar);
 
@@ -1556,7 +1564,9 @@ void latexParagraphs(Buffer const & buf,
                                        "$$lang",
                                        mainlang))
                        << '\n';
-               if (using_begin_end)
+               // If we have language_auto_begin, the stack will
+               // already be empty, nothing to pop()
+               if (using_begin_end && !lyxrc.language_auto_begin)
                        popLanguageName();
        }
 
index ad14991c595695df9efda047c801fd0c7a394167..d037d090432d91d10f92b2370ced57407f547e1a 100644 (file)
@@ -61,6 +61,9 @@ What's new
 
 - Prevent crash due to unencodable path (bug 11688).
 
+- Fix crash with polyglossia when the "Auto End" language preference setting
+  is off and titles are used.
+
 - (Re-)fix problems with activated equal sign and graphic options in Turkish
   and Latin documents (bug 2005).