mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
Do not try to pop from an empty stack
This commit is contained in:
parent
59cabde9e3
commit
cc4ed5e04b
@ -631,7 +631,7 @@ int Font::latexWriteEndChanges(otexstream & os, BufferParams const & bparams,
|
||||
bool const using_begin_end =
|
||||
runparams.use_polyglossia ||
|
||||
!lyxrc.language_command_end.empty();
|
||||
if (using_begin_end)
|
||||
if (using_begin_end && !languageStackEmpty())
|
||||
popLanguageName();
|
||||
}
|
||||
|
||||
|
@ -2805,7 +2805,8 @@ void Paragraph::latex(BufferParams const & bparams,
|
||||
string end_tag = subst(lang_end_command, "$$lang", running_lang);
|
||||
os << from_ascii(end_tag);
|
||||
column += end_tag.length();
|
||||
popLanguageName();
|
||||
if (!languageStackEmpty())
|
||||
popLanguageName();
|
||||
}
|
||||
|
||||
// Switch file encoding if necessary (and allowed)
|
||||
|
@ -607,6 +607,14 @@ void popLanguageName()
|
||||
}
|
||||
|
||||
|
||||
bool languageStackEmpty()
|
||||
{
|
||||
OutputState * state = getOutputState();
|
||||
|
||||
return state->lang_switch_depth_.empty();
|
||||
}
|
||||
|
||||
|
||||
string const & openLanguageName()
|
||||
{
|
||||
OutputState * state = getOutputState();
|
||||
@ -1768,7 +1776,7 @@ void latexParagraphs(Buffer const & buf,
|
||||
<< '\n';
|
||||
// If we have language_auto_begin, the stack will
|
||||
// already be empty, nothing to pop()
|
||||
if (using_begin_end && !lyxrc.language_auto_begin)
|
||||
if (using_begin_end && langOpenedAtThisLevel(state))
|
||||
popLanguageName();
|
||||
}
|
||||
|
||||
|
@ -37,6 +37,9 @@ void pushLanguageName(std::string const & lang, bool localswitch = false);
|
||||
*/
|
||||
void popLanguageName();
|
||||
|
||||
// Check if we have an empty language stack
|
||||
bool languageStackEmpty();
|
||||
|
||||
/** Return a reference to the last active language opened with
|
||||
polyglossia or when using begin/end commands. If none or when
|
||||
using babel with only a begin command, return a reference to
|
||||
|
Loading…
Reference in New Issue
Block a user