Respect InsetLayout's PassThru setting in XHTML export.

This commit is contained in:
Richard Heck 2012-12-24 12:03:44 -05:00
parent 7af6a7b910
commit 2e764c2c66
2 changed files with 12 additions and 4 deletions

View File

@ -2890,7 +2890,7 @@ docstring Paragraph::simpleLyXHTMLOnePar(Buffer const & buf,
} else {
char_type c = getUChar(buf.params(), i);
if (style.pass_thru)
if (style.pass_thru || runparams.pass_thru)
xs << c;
else if (c == '-') {
docstring str;

View File

@ -580,6 +580,7 @@ docstring InsetText::insetAsXHTML(XHTMLStream & xs, OutputParams const & rp,
InsetLayout const & il = getLayout();
if (opts & WriteOuterTag)
xs << html::StartTag(il.htmltag(), il.htmlattr());
if ((opts & WriteLabel) && !il.counter().empty()) {
BufferParams const & bp = buffer().masterBuffer()->params();
Counters & cntrs = bp.documentClass().counters();
@ -599,14 +600,21 @@ docstring InsetText::insetAsXHTML(XHTMLStream & xs, OutputParams const & rp,
if (opts & WriteInnerTag)
xs << html::StartTag(il.htmlinnertag(), il.htmlinnerattr());
OutputParams ours = runparams;
// we will eventaully lose information about the containing inset
if (!il.isMultiPar() || opts == JustText)
ours.html_make_pars = false;
xhtmlParagraphs(text_, buffer(), xs, ours);
runparams.html_make_pars = false;
if (il.isPassThru())
runparams.pass_thru = true;
xhtmlParagraphs(text_, buffer(), xs, runparams);
if (opts & WriteInnerTag)
xs << html::EndTag(il.htmlinnertag());
if (opts & WriteOuterTag)
xs << html::EndTag(il.htmltag());
return docstring();
}