diff --git a/rostests/winetests/msxml3/domdoc.c b/rostests/winetests/msxml3/domdoc.c index eb8c62a5225..74631d98311 100644 --- a/rostests/winetests/msxml3/domdoc.c +++ b/rostests/winetests/msxml3/domdoc.c @@ -352,9 +352,7 @@ static const IStreamVtbl StreamVtbl = { istream_Clone }; -#if CORE_6738_IS_FIXED static IStream savestream = { &StreamVtbl }; -#endif #define EXPECT_CHILDREN(node) _expect_children((IXMLDOMNode*)node, __LINE__) static void _expect_children(IXMLDOMNode *node, int line) @@ -6000,7 +5998,6 @@ static void test_put_dataType( void ) free_bstrs(); } -#if CORE_6738_IS_FIXED static void test_save(void) { IXMLDOMDocument *doc, *doc2; @@ -6131,7 +6128,6 @@ static void test_save(void) IXMLDOMDocument_Release(doc); free_bstrs(); } -#endif /* CORE_6738_IS_FIXED */ static void test_testTransforms(void) { @@ -11934,9 +11930,7 @@ START_TEST(domdoc) test_XSLPattern(); test_cloneNode(); test_xmlTypes(); -#if CORE_6738_IS_FIXED test_save(); -#endif test_testTransforms(); test_namespaces_basic(); test_namespaces_change(); diff --git a/rostests/winetests/msxml3/msxml3_ros.diff b/rostests/winetests/msxml3/msxml3_ros.diff deleted file mode 100644 index 0c02b32a91c..00000000000 --- a/rostests/winetests/msxml3/msxml3_ros.diff +++ /dev/null @@ -1,94 +0,0 @@ -Index: domdoc.c -=================================================================== ---- domdoc.c (revision 57310) -+++ domdoc.c (working copy) -@@ -1447,6 +1447,9 @@ - #define EXPECT_HR(hr,hr_exp) \ - ok(hr == hr_exp, "got 0x%08x, expected 0x%08x\n", hr, hr_exp) - -+#define EXPECT_NOT_HR(hr,hr_exp) \ -+ ok(hr != hr_exp, "got 0x%08x, expected not 0x%08x\n", hr, hr_exp) -+ - static const WCHAR szEmpty[] = { 0 }; - static const WCHAR szIncomplete[] = { - '<','?','x','m','l',' ', -@@ -4244,6 +4247,30 @@ - free_bstrs(); - } - -+/* -+ * This function is to display that xmlnodelist_QueryInterface -+ * generates SEGV for these conditions, and once fixed make sure -+ * it never does it again. -+ */ -+static void verify_nodelist_query_interface(IXMLDOMNodeList *node_list) -+{ -+ HRESULT hr; -+ /* -+ * NOTE: The following calls are supposed to test wine's -+ * xmlnodelist_QueryInterface behaving properly. -+ * While we should be able to expect E_POINTER (due to the NULL pointer), -+ * it seems MS' own implementation(s) violate the spec and return -+ * E_INVALIDARG. To not get cought be a potentially correct implementation -+ * in the future, we check for NOT S_OK. -+ */ -+ hr = IXMLDOMNodeList_QueryInterface(node_list, &IID_IUnknown, NULL); -+ EXPECT_NOT_HR(hr, S_OK); -+ hr = IXMLDOMNodeList_QueryInterface(node_list, &IID_IDispatch, NULL); -+ EXPECT_NOT_HR(hr, S_OK); -+ hr = IXMLDOMNodeList_QueryInterface(node_list, &IID_IXMLDOMNodeList, NULL); -+ EXPECT_NOT_HR(hr, S_OK); -+} -+ - static void test_get_childNodes(void) - { - IXMLDOMNodeList *node_list, *node_list2; -@@ -4271,6 +4298,8 @@ - hr = IXMLDOMElement_get_childNodes( element, &node_list ); - EXPECT_HR(hr, S_OK); - -+ verify_nodelist_query_interface(node_list); -+ - hr = IXMLDOMNodeList_get_length( node_list, &len ); - EXPECT_HR(hr, S_OK); - ok( len == 4, "len %d\n", len); -Index: domdoc.c -=================================================================== ---- domdoc.c (revision 57539) -+++ domdoc.c (revision 57540) -@@ -1398,7 +1398,9 @@ - istream_Clone - }; - -+#if CORE_6738_IS_FIXED - static IStream savestream = { &StreamVtbl }; -+#endif - - #define EXPECT_CHILDREN(node) _expect_children((IXMLDOMNode*)node, __LINE__) - static void _expect_children(IXMLDOMNode *node, int line) -@@ -7274,6 +7276,7 @@ - free_bstrs(); - } - -+#if CORE_6738_IS_FIXED - static void test_save(void) - { - IXMLDOMDocument *doc, *doc2; -@@ -7410,6 +7413,7 @@ - IXMLDOMDocument_Release(doc); - free_bstrs(); - } -+#endif /* CORE_6738_IS_FIXED */ - - static void test_testTransforms(void) - { -@@ -12538,7 +12542,9 @@ - test_XSLPattern(); - test_cloneNode(); - test_xmlTypes(); -+#if CORE_6738_IS_FIXED - test_save(); -+#endif - test_testTransforms(); - test_namespaces_basic(); - test_namespaces_change();