This avoids a crash in InsetMathSplit which uses the buffer() value.
Fixes bug #11686.
// than the one protected by UpdateLocker.
docstring const & display = d->macro_->display();
docstring const latexname = from_ascii("\\") + macroName();
// 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);
}
if (utype == OutputUpdate && !d->expanded_.empty())
d->expanded_.updateMacros(cur, mc, utype, nesting);
}