[PATCH v5 0/1] MR7494: msxml3: IXMLDOMDocument3::preserveWhiteSpace fix for a non VARIANT_BOOL value.
0024:trace:msxml:domdoc_put_preserveWhiteSpace (068F0520)->(1) Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=21940 -- v5: msxml3: IXMLDOMDocument3::preserveWhiteSpace fix for a non VARIANT_BOOL value. https://gitlab.winehq.org/wine/wine/-/merge_requests/7494
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com> 0024:trace:msxml:domdoc_put_preserveWhiteSpace (068F0520)->(1) Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=21940 --- dlls/msxml3/domdoc.c | 2 +- dlls/msxml3/tests/domdoc.c | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c index c19bcde03ab..604145861f6 100644 --- a/dlls/msxml3/domdoc.c +++ b/dlls/msxml3/domdoc.c @@ -1673,7 +1673,7 @@ static HRESULT WINAPI domdoc_put_preserveWhiteSpace(IXMLDOMDocument3 *iface, VAR TRACE("%p, %d.\n", iface, v); - node->properties->preserving = v; + node->properties->preserving = v == VARIANT_TRUE ? VARIANT_TRUE : VARIANT_FALSE; return S_OK; } diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c index f9dfef94b81..a846cb92d68 100644 --- a/dlls/msxml3/tests/domdoc.c +++ b/dlls/msxml3/tests/domdoc.c @@ -5303,6 +5303,16 @@ static void test_whitespace(void) check_ws_ignored(class_ptr->name, doc3, NULL); check_ws_preserved(class_ptr->name, doc4, NULL); + hr = IXMLDOMDocument2_put_preserveWhiteSpace(doc4, 1); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + hr = IXMLDOMDocument2_get_preserveWhiteSpace(doc4, &b); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(b == VARIANT_FALSE, "expected true\n"); + check_ws_ignored(class_ptr->name, doc4, NULL); + + hr = IXMLDOMDocument2_put_preserveWhiteSpace(doc4, VARIANT_TRUE); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + /* setting after loading xml affects trimming of leading/trailing ws only */ hr = IXMLDOMDocument2_put_preserveWhiteSpace(doc1, VARIANT_TRUE); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); @@ -5369,6 +5379,17 @@ static void test_whitespace(void) IXMLDOMNodeList_Release(list); IXMLDOMElement_Release(root); + hr = IXMLDOMDocument2_put_preserveWhiteSpace(doc1, VARIANT_TRUE); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + hr = IXMLDOMDocument2_get_preserveWhiteSpace(doc1, &b); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(b == VARIANT_TRUE, "expected true %d\n", b); + hr = IXMLDOMDocument2_put_preserveWhiteSpace(doc1, 1); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + hr = IXMLDOMDocument2_get_preserveWhiteSpace(doc1, &b); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(b == VARIANT_FALSE, "expected true %d\n", b); + IXMLDOMDocument2_Release(doc1); free_bstrs(); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7494
participants (2)
-
Alistair Leslie-Hughes -
Alistair Leslie-Hughes (@alesliehughes)