From: Daniel Lehman <dlehman25@gmail.com> --- dlls/msxml3/node.c | 4 ++++ dlls/msxml3/tests/domdoc.c | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c index 3e389144cd4..37e25c4a9d0 100644 --- a/dlls/msxml3/node.c +++ b/dlls/msxml3/node.c @@ -1091,6 +1091,10 @@ static void transform_write_text(xmlDocPtr result, xsltStylesheetPtr style, xmlO static void transform_write_xmldecl(xmlDocPtr result, xsltStylesheetPtr style, BOOL omit_encoding, xmlOutputBufferPtr output) { int omit_xmldecl, standalone; + xmlNodePtr decl; + + if ((decl = xmldoc_unlink_xmldecl(result))) + xmlFreeNode(decl); XSLT_GET_IMPORT_INT(omit_xmldecl, style, omitXmlDeclaration); if (omit_xmldecl == 1) return; diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c index 0acde3f6a13..2c5b1d0721f 100644 --- a/dlls/msxml3/tests/domdoc.c +++ b/dlls/msxml3/tests/domdoc.c @@ -13947,7 +13947,6 @@ static void test_transformNodeToObject(void) hr = IStream_Read(istream, bufferA, sizeof(bufferA), &nread); ok(hr == S_OK, "Failed to read, hr %#lx.\n", hr); bufferA[nread] = 0; - todo_wine ok(!strcmp(bufferA, transform_utf8_omit_ret), "got output %s\n", wine_dbgstr_a(bufferA)); IStream_Release(istream); @@ -13972,7 +13971,6 @@ static void test_transformNodeToObject(void) hr = IStream_Read(istream, bufferA, sizeof(bufferA), &nread); ok(hr == S_OK, "Failed to read, hr %#lx.\n", hr); bufferA[nread] = 0; - todo_wine ok(!strcmp(bufferA, transform_utf8_ret), "got output %s\n", wine_dbgstr_a(bufferA)); IStream_Release(istream); @@ -14001,7 +13999,6 @@ static void test_transformNodeToObject(void) buffer[nread / 2] = 0; ok(buffer[0] == 0xfeff, "got %x\n", buffer[0]); bstr = SysAllocString(transform_utf16_ret); - todo_wine ok(compareIgnoreReturns(&buffer[1], bstr), "got output %s\n", wine_dbgstr_w(buffer)); SysFreeString(bstr); IStream_Release(istream); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10027