xmllite/writer: Fix formatted output with WriteFullEndElement().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2016-07-14 12:43:32 +03:00 committed by Alexandre Julliard
parent 0fd4fae7c5
commit 099eda8ead
1 changed files with 6 additions and 1 deletions

View File

@ -414,7 +414,6 @@ static HRESULT writer_close_starttag(xmlwriter *writer)
if (!writer->starttagopen) return S_OK;
hr = write_output_buffer(writer->output, gtW, ARRAY_SIZE(gtW));
writer->starttagopen = FALSE;
writer->state = XmlWriterState_Content;
return hr;
}
@ -958,6 +957,12 @@ static HRESULT WINAPI xmlwriter_WriteFullEndElement(IXmlWriter *iface)
writer_close_starttag(This);
writer_dec_indent(This);
/* don't force full end tag to the next line */
if (This->state == XmlWriterState_ElemStarted)
This->state = XmlWriterState_Content;
else
write_node_indent(This);
/* write full end tag */
write_output_buffer(This->output, closeelementW, ARRAY_SIZE(closeelementW));
write_output_buffer(This->output, element->qname, element->len);