From: Jean-Marc Lasgouttes Date: Sun, 20 Oct 2019 10:54:59 +0000 (+0200) Subject: Set buffer when expanding macro X-Git-Tag: 2.3.4~45 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=d3fd91566249b722dbc553b921283f2507ce5e17;p=features.git Set buffer when expanding macro This avoids a crash in InsetMathSplit which uses the buffer() value. Fixes bug #11686. (cherry picked from commit 19abf29ea0cf89cdc99b9327448146aeb35d1dc1) --- diff --git a/src/mathed/InsetMathMacro.cpp b/src/mathed/InsetMathMacro.cpp index 5e72eecdc2..d354412edd 100644 --- a/src/mathed/InsetMathMacro.cpp +++ b/src/mathed/InsetMathMacro.cpp @@ -669,8 +669,9 @@ void InsetMathMacro::updateRepresentation(Cursor * cur, MacroContext const & mc, // than the one protected by UpdateLocker. docstring const & display = d->macro_->display(); docstring const latexname = from_ascii("\\") + macroName(); - if (d->macro_->expand(values, d->expanded_) - && !support::contains(display, latexname)) { + bool const ret = d->macro_->expand(values, d->expanded_); + d->expanded_.setBuffer(buffer()); + if (ret && !support::contains(display, latexname)) { if (utype == OutputUpdate && !d->expanded_.empty()) d->expanded_.updateMacros(cur, mc, utype, nesting); } diff --git a/status.23x b/status.23x index e005d5eedc..bb1fd59f08 100644 --- a/status.23x +++ b/status.23x @@ -150,6 +150,8 @@ What's new - Fix bad caret position when row scrolls horizontally (bug 11603). +- Fix crash when inserting some macros (bug 11686). + * INTERNALS