Jacek Caban wrote:
Hi Paul,
Paul Vriens wrote:
Changelog
Fix 2 test failures on IE8
This test does no longer make sense. It would be better to remove it and
preferably change implementation to match IE8.
Thanks,
Jacek
Hi Jacek,
Something like the attached?
--
Cheers,
Paul.
diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c
index 32b0801..720bbfe 100644
--- a/dlls/mshtml/htmlnode.c
+++ b/dlls/mshtml/htmlnode.c
@@ -157,6 +157,11 @@ static HRESULT WINAPI HTMLDOMChildrenCollection_item(IHTMLDOMChildrenCollection
TRACE("(%p)->(%d %p)\n", This, index, ppItem);
+ if (ppItem)
+ *ppItem = NULL;
+ else
+ return E_POINTER;
+
nsIDOMNodeList_GetLength(This->nslist, &length);
if(index < 0 || index >= length)
return E_INVALIDARG;
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index aaf1a39..497fc0a 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -4456,15 +4456,17 @@ static void test_elems(IHTMLDocument2 *doc)
IHTMLDOMNode_Release(node);
}
- disp = (void*)0xdeadbeef;
+ hres = IHTMLDOMChildrenCollection_item(child_col, length - 1, NULL);
+ ok(hres == E_POINTER, "item failed: %08x, expected E_POINTER\n", hres);
+
+ hres = IHTMLDOMChildrenCollection_item(child_col, length, NULL);
+ ok(hres == E_POINTER, "item failed: %08x, expected E_POINTER\n", hres);
+
hres = IHTMLDOMChildrenCollection_item(child_col, 6000, &disp);
ok(hres == E_INVALIDARG, "item failed: %08x, expected E_INVALIDARG\n", hres);
- ok(disp == (void*)0xdeadbeef, "disp=%p\n", disp);
- disp = (void*)0xdeadbeef;
hres = IHTMLDOMChildrenCollection_item(child_col, length, &disp);
ok(hres == E_INVALIDARG, "item failed: %08x, expected E_INVALIDARG\n", hres);
- ok(disp == (void*)0xdeadbeef, "disp=%p\n", disp);
test_child_col_disp(child_col);