\\subfloat captions are moving arguments

Therefore insets should be protected in these captions.

Fixes bug: #9346.
This commit is contained in:
Jean-Marc Lasgouttes 2014-12-04 17:27:56 +01:00
parent c52b99d989
commit 1ae74b2dd7
2 changed files with 5 additions and 2 deletions

View File

@ -337,8 +337,9 @@ void InsetFloat::latex(otexstream & os, OutputParams const & runparams_in) const
if (runparams_in.moving_arg)
os << "\\protect";
os << "\\subfloat";
OutputParams rp = runparams_in;
rp.moving_arg = true;
docstring const caption = getCaption(rp);
if (!caption.empty()) {
os << caption;
@ -347,7 +348,7 @@ void InsetFloat::latex(otexstream & os, OutputParams const & runparams_in) const
rp.inFloat = OutputParams::SUBFLOAT;
InsetText::latex(os, rp);
os << "}";
return;
}
OutputParams runparams(runparams_in);

View File

@ -103,6 +103,8 @@ What's new
- Fix crash on exporting a recursive math macro (bug 9140). Recursive macros
are invalid, so typesetting will still fail with "TeX capacity exceeded".
- Protect insets when needed in subfloat captions (bug 9346).
* LYX2LYX