From: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/xmllite/writer.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/dlls/xmllite/writer.c b/dlls/xmllite/writer.c index 3312a4a2927..1b7f0fc24d2 100644 --- a/dlls/xmllite/writer.c +++ b/dlls/xmllite/writer.c @@ -2038,6 +2038,7 @@ static HRESULT WINAPI xmlwriter_WriteString(IXmlWriter *iface, const WCHAR *stri static HRESULT WINAPI xmlwriter_WriteSurrogateCharEntity(IXmlWriter *iface, WCHAR wchLow, WCHAR wchHigh) { xmlwriter *writer = impl_from_IXmlWriter(iface); + HRESULT hr = S_OK; int codepoint; WCHAR bufW[16]; @@ -2053,7 +2054,7 @@ static HRESULT WINAPI xmlwriter_WriteSurrogateCharEntity(IXmlWriter *iface, WCHA case XmlWriterState_InvalidEncoding: return MX_E_ENCODING; case XmlWriterState_ElemStarted: - writer_close_starttag(writer); + hr = writer_close_starttag(writer); break; case XmlWriterState_DocClosed: return WR_E_INVALIDACTION; @@ -2063,9 +2064,7 @@ static HRESULT WINAPI xmlwriter_WriteSurrogateCharEntity(IXmlWriter *iface, WCHA codepoint = ((wchHigh - 0xd800) * 0x400) + (wchLow - 0xdc00) + 0x10000; swprintf(bufW, ARRAY_SIZE(bufW), L"%X;", codepoint); - write_output_buffer(writer->output, bufW, -1); - - return S_OK; + return write_output(writer, bufW, -1, &hr); } static HRESULT WINAPI xmlwriter_WriteWhitespace(IXmlWriter *iface, LPCWSTR text) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9031