[PATCH] Ignore IActiveScript interface for IXMLHTTPRequest

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Fri Feb 4 14:36:31 CST 2011


---
 dlls/msxml3/httprequest.c  |    7 +++++++
 dlls/msxml3/tests/domdoc.c |    6 ++++++
 2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
index 4dd4de8..72f6012 100644
--- a/dlls/msxml3/httprequest.c
+++ b/dlls/msxml3/httprequest.c
@@ -30,6 +30,7 @@
 #include "winuser.h"
 #include "ole2.h"
 #include "msxml6.h"
+#include "activscp.h"
 
 #include "msxml_private.h"
 
@@ -503,6 +504,12 @@ static HRESULT WINAPI httprequest_QueryInterface(IXMLHTTPRequest *iface, REFIID
     {
         *ppvObject = iface;
     }
+    else if ( IsEqualGUID( riid, &IID_IActiveScript))
+    {
+        TRACE("(%p)->(IID_IActiveScript %p) returning NULL\n", This, ppvObject);
+        *ppvObject = NULL;
+        return E_NOINTERFACE;
+    }
     else
     {
         FIXME("Unsupported interface %s\n", debugstr_guid(riid));
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index 34cc322..11cf7c0 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -36,6 +36,8 @@
 
 #include "initguid.h"
 
+#include "activscp.h"
+
 DEFINE_GUID(IID_IObjectSafety, 0xcb5bdc81, 0x93c1, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64);
 
 static int g_unexpectedcall, g_expectedcall;
@@ -3225,6 +3227,7 @@ static void test_XMLHTTP(void)
     LONG state, status, ref, bound;
     void *ptr;
     IDispatch *event;
+    IActiveScript *pScript = NULL;
     HRESULT hr = CoCreateInstance(&CLSID_XMLHTTPRequest, NULL,
                                   CLSCTX_INPROC_SERVER, &IID_IXMLHttpRequest,
                                   (void **)&pXMLHttpRequest);
@@ -3234,6 +3237,9 @@ static void test_XMLHTTP(void)
         return;
     }
 
+    hr = IXMLHTTPRequest_QueryInterface(pXMLHttpRequest, &IID_IActiveScript, (void**)&pScript);
+    ok(hr == E_NOINTERFACE, "got interface IActiveScript\n");
+
     VariantInit(&dummy);
     V_VT(&dummy) = VT_ERROR;
     V_ERROR(&dummy) = DISP_E_MEMBERNOTFOUND;
-- 
1.7.1


--------------090500030307080208090208--



More information about the wine-patches mailing list