[PATCH] IXMLDOMDocument does not support get_nextSibling
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Sun Jan 6 03:48:27 CST 2008
---
dlls/msxml3/domdoc.c | 9 +++++++--
dlls/msxml3/tests/domdoc.c | 8 ++++++++
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index d955926..cbd71f2 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -529,8 +529,13 @@ static HRESULT WINAPI domdoc_get_nextSibling(
IXMLDOMDocument2 *iface,
IXMLDOMNode** nextSibling )
{
- domdoc *This = impl_from_IXMLDOMDocument2( iface );
- return IXMLDOMNode_get_nextSibling( This->node, nextSibling );
+ if(!nextSibling)
+ return E_INVALIDARG;
+
+ /* Document nodes does not have a next Sibling */
+ *nextSibling = NULL;
+
+ return S_FALSE;
}
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index 66b942c..59c708c 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -1767,10 +1767,18 @@ static void test_xmlTypes(void)
IXMLDOMAttribute *pAttrubute;
IXMLDOMNamedNodeMap *pAttribs;
BSTR str;
+ IXMLDOMNode *pDocChild = (IXMLDOMNode *)0x1;
hr = CoCreateInstance( &CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER, &IID_IXMLDOMDocument2, (LPVOID*)&doc );
if( hr != S_OK )
return;
+
+ hr = IXMLDOMDocument_get_nextSibling(doc, NULL);
+ ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+
+ hr = IXMLDOMDocument_get_nextSibling(doc, &pDocChild);
+ ok(hr == S_FALSE, "ret %08x\n", hr );
+ ok(pDocChild == NULL, "pNextChild not NULL");
hr = IXMLDOMDocument_createElement(doc, _bstr_("Testing"), &pRoot);
ok(hr == S_OK, "ret %08x\n", hr );
--
1.5.3.7
--------------010003020609070006050405--
More information about the wine-patches
mailing list