Fix thinko from earlier commit.

We need to output the deferred material AFTER the paragraph is closed.
This commit is contained in:
Richard Heck 2016-07-30 01:29:06 -04:00
parent 60ce2b7570
commit dd7863b6ac
5 changed files with 21 additions and 14 deletions

View File

@ -556,13 +556,14 @@ InsetLayout Caption:Standard
LabelString standard
LaTeXType command
LatexName caption
NeedProtect 1
NeedProtect 1
MultiPar false
Argument 1
LabelString "Short Title|S"
Tooltip "The caption as it appears in the list of figures/tables"
InsertCotext 1
EndArgument
HTMLTag div
HTMLStyle
div.float-caption {
text-align: center;
@ -580,6 +581,7 @@ InsetLayout Caption:Unnumbered
LabelString unlabelled
LatexName caption*
ResetArgs 1
HTMLAttr "class='float-caption float-caption-unnumbered'"
End

View File

@ -293,7 +293,7 @@ int InsetCaption::docbook(odocstream & os,
}
docstring InsetCaption::xhtml(XHTMLStream & xs, OutputParams const & rp) const
docstring InsetCaption::xhtml(XHTMLStream &, OutputParams const & rp) const
{
if (rp.html_disable_captions)
return docstring();
@ -308,10 +308,14 @@ docstring InsetCaption::xhtml(XHTMLStream & xs, OutputParams const & rp) const
else
attr = attr + " class='" + our_class + "'";
}
xs << html::StartTag(tag, attr);
docstring def = getCaptionAsHTML(xs, rp);
xs << html::EndTag(tag);
return def;
odocstringstream ods;
XHTMLStream ourxs(ods);
ourxs << html::StartTag(tag, attr) << html::CR();
docstring def = getCaptionAsHTML(ourxs, rp);
ourxs << html::EndTag(tag) << html::CR();
if (!def.empty())
return ods.str() + "\n" + def;
return ods.str();
}

View File

@ -300,7 +300,7 @@ docstring InsetFloat::xhtml(XHTMLStream & xs, OutputParams const & rp) const
odocstringstream ods;
XHTMLStream newxs(ods);
newxs << html::StartTag(htmltype, attr);
newxs << html::StartTag(htmltype, attr) << html::CR();
InsetText::XHTMLOptions const opts =
InsetText::WriteLabel | InsetText::WriteInnerTag;
docstring deferred = InsetText::insetAsXHTML(newxs, rp, opts);

View File

@ -621,7 +621,7 @@ docstring InsetText::insetAsXHTML(XHTMLStream & xs, OutputParams const & rp,
InsetLayout const & il = getLayout();
if (opts & WriteOuterTag)
xs << html::StartTag(il.htmltag(), il.htmlattr());
xs << html::StartTag(il.htmltag(), il.htmlattr()) << html::CR();
if ((opts & WriteLabel) && !il.counter().empty()) {
BufferParams const & bp = buffer().masterBuffer()->params();
@ -633,9 +633,9 @@ docstring InsetText::insetAsXHTML(XHTMLStream & xs, OutputParams const & rp,
cntrs.counterLabel(from_utf8(il.htmllabel()), bp.language->code());
// FIXME is this check necessary?
if (!lbl.empty()) {
xs << html::StartTag(il.htmllabeltag(), il.htmllabelattr());
xs << lbl;
xs << html::EndTag(il.htmllabeltag());
xs << html::StartTag(il.htmllabeltag(), il.htmllabelattr())
<< lbl
<< html::EndTag(il.htmllabeltag());
}
}
}

View File

@ -878,13 +878,14 @@ ParagraphList::const_iterator makeParagraphs(Buffer const & buf,
runparams, text.outerFont(distance(begin, par)),
open_par, close_par);
if (!deferred.empty()) {
xs << XHTMLStream::ESCAPE_NONE << deferred << html::CR();
}
if (close_par) {
closeTag(xs, lay);
xs << html::CR();
}
if (!deferred.empty()) {
xs << XHTMLStream::ESCAPE_NONE << deferred << html::CR();
}
}
return pend;
}