Andrew Nguyen : mshtml: Accept NULL SAFEARRAY pointers in IHTMLDocument2:: write(ln).
Alexandre Julliard
julliard at winehq.org
Tue Feb 9 10:37:57 CST 2010
Module: wine
Branch: master
Commit: b3b81abba3b4eb6ed84049a8720517b926369e98
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b3b81abba3b4eb6ed84049a8720517b926369e98
Author: Andrew Nguyen <arethusa26 at gmail.com>
Date: Tue Feb 9 09:54:03 2010 -0600
mshtml: Accept NULL SAFEARRAY pointers in IHTMLDocument2::write(ln).
---
dlls/mshtml/htmldoc.c | 3 +++
dlls/mshtml/tests/dom.c | 17 +++++++++++++++++
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index 538a02f..f99ab29 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -776,6 +776,9 @@ static HRESULT document_write(HTMLDocument *This, SAFEARRAY *psarray, BOOL ln)
return E_UNEXPECTED;
}
+ if (!psarray)
+ return S_OK;
+
if(psarray->cDims != 1) {
FIXME("cDims=%d\n", psarray->cDims);
return E_INVALIDARG;
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index c0128a6..7fd9262 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -5921,6 +5921,22 @@ static void test_create_elems(IHTMLDocument2 *doc)
IHTMLElement_Release(body);
}
+static void test_null_write(IHTMLDocument2 *doc)
+{
+ HRESULT hres;
+
+ doc_write(doc, FALSE, NULL);
+ doc_write(doc, TRUE, NULL);
+
+ hres = IHTMLDocument2_write(doc, NULL);
+ ok(hres == S_OK,
+ "Expected IHTMLDocument2::write to return S_OK, got 0x%08x\n", hres);
+
+ hres = IHTMLDocument2_writeln(doc, NULL);
+ ok(hres == S_OK,
+ "Expected IHTMLDocument2::writeln to return S_OK, got 0x%08x\n", hres);
+}
+
static void test_exec(IUnknown *unk, const GUID *grpid, DWORD cmdid, VARIANT *in, VARIANT *out)
{
IOleCommandTarget *cmdtrg;
@@ -6395,6 +6411,7 @@ START_TEST(dom)
run_domtest(elem_test2_str, test_elems2);
run_domtest(doc_blank, test_create_elems);
run_domtest(doc_blank, test_defaults);
+ run_domtest(doc_blank, test_null_write);
run_domtest(indent_test_str, test_indent);
run_domtest(cond_comment_str, test_cond_comment);
run_domtest(frameset_str, test_frameset);
More information about the wine-cvs
mailing list