Jacek Caban : mshtml: Fixed test crash on Windows.

Alexandre Julliard julliard at winehq.org
Wed Oct 10 06:46:17 CDT 2007


Module: wine
Branch: master
Commit: d9d11b3e7c7c82c86431cdefc6e687877d49c99c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d9d11b3e7c7c82c86431cdefc6e687877d49c99c

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sun Oct  7 17:06:24 2007 +0200

mshtml: Fixed test crash on Windows.

---

 dlls/mshtml/tests/htmldoc.c |   90 +++++++++++++++++++++++++++---------------
 1 files changed, 58 insertions(+), 32 deletions(-)

diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c
index d54e7cc..b3224a3 100644
--- a/dlls/mshtml/tests/htmldoc.c
+++ b/dlls/mshtml/tests/htmldoc.c
@@ -211,6 +211,62 @@ static void test_timer(DWORD flags)
         CHECK_CALLED(Exec_SETTITLE);
 }
 
+static HRESULT WINAPI External_QueryInterface(IDispatch *iface, REFIID riid, void **ppv)
+{
+    ok(0, "unexpected call\n");
+    return E_NOINTERFACE;
+}
+
+static ULONG WINAPI Dispatch_AddRef(IDispatch *iface)
+{
+    return 2;
+}
+
+static ULONG WINAPI Dispatch_Release(IDispatch *iface)
+{
+    return 1;
+}
+
+static HRESULT WINAPI Dispatch_GetTypeInfoCount(IDispatch *iface, UINT *pctinfo)
+{
+    ok(0, "unexpected call\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI Dispatch_GetTypeInfo(IDispatch *iface, UINT iTInfo, LCID lcid,
+        ITypeInfo **ppTInfo)
+{
+    ok(0, "unexpected call\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI Dispatch_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLESTR *rgszNames,
+        UINT cNames, LCID lcid, DISPID *rgDispId)
+{
+    ok(0, "unexpected call\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI External_Invoke(IDispatch *iface, DISPID dispIdMember, REFIID riid,
+        LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult,
+        EXCEPINFO *pExcepInfo, UINT *puArgErr)
+{
+    ok(0, "unexpected call\n");
+    return E_NOTIMPL;
+}
+
+static const IDispatchVtbl ExternalVtbl = {
+    External_QueryInterface,
+    Dispatch_AddRef,
+    Dispatch_Release,
+    Dispatch_GetTypeInfoCount,
+    Dispatch_GetTypeInfo,
+    Dispatch_GetIDsOfNames,
+    External_Invoke
+};
+
+static IDispatch External = { &ExternalVtbl };
+
 static HRESULT WINAPI Protocol_QueryInterface(IInternetProtocol *iface, REFIID riid, void **ppv)
 {
     if(IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IInternetProtocol, riid)) {
@@ -1863,7 +1919,7 @@ static HRESULT WINAPI DocHostUIHandler_GetDropTarget(IDocHostUIHandler2 *iface,
 static HRESULT WINAPI DocHostUIHandler_GetExternal(IDocHostUIHandler2 *iface, IDispatch **ppDispatch)
 {
     CHECK_EXPECT(GetExternal);
-    *ppDispatch = (void*)1;
+    *ppDispatch = &External;
     return S_FALSE;
 }
 
@@ -2100,36 +2156,6 @@ static HRESULT WINAPI Dispatch_QueryInterface(IDispatch *iface, REFIID riid, voi
     return QueryInterface(riid, ppv);
 }
 
-static ULONG WINAPI Dispatch_AddRef(IDispatch *iface)
-{
-    return 2;
-}
-
-static ULONG WINAPI Dispatch_Release(IDispatch *iface)
-{
-    return 1;
-}
-
-static HRESULT WINAPI Dispatch_GetTypeInfoCount(IDispatch *iface, UINT *pctinfo)
-{
-    ok(0, "unexpected call\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT WINAPI Dispatch_GetTypeInfo(IDispatch *iface, UINT iTInfo, LCID lcid,
-        ITypeInfo **ppTInfo)
-{
-    ok(0, "unexpected call\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT WINAPI Dispatch_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLESTR *rgszNames,
-        UINT cNames, LCID lcid, DISPID *rgDispId)
-{
-    ok(0, "unexpected call\n");
-    return E_NOTIMPL;
-}
-
 static HRESULT WINAPI Dispatch_Invoke(IDispatch *iface, DISPID dispIdMember, REFIID riid,
         LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult,
         EXCEPINFO *pExcepInfo, UINT *puArgErr)
@@ -3468,7 +3494,7 @@ static void test_external(IUnknown *unk, BOOL initialized)
     if(initialized) {
         ok(hres == S_FALSE, "get_external failed: %08x\n", hres);
         CHECK_CALLED(GetExternal);
-        ok(external == (void*)1, "external != NULL\n");
+        ok(external != NULL, "external == NULL\n");
     }else {
         ok(hres == S_OK, "get_external failed: %08x\n", hres);
         ok(external == NULL, "external != NULL\n");




More information about the wine-cvs mailing list