Module: wine Branch: master Commit: b3b81abba3b4eb6ed84049a8720517b926369e98 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b3b81abba3b4eb6ed84049a872...
Author: Andrew Nguyen arethusa26@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);