Nikolay Sivov : oleaut32/tests: Use local IDispatch test impl instead of global variable.
Alexandre Julliard
julliard at winehq.org
Tue Jan 28 13:33:23 CST 2014
Module: wine
Branch: master
Commit: dd89dd1932172e0f22c0470169f0122ab75798e2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=dd89dd1932172e0f22c0470169f0122ab75798e2
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue Jan 28 09:49:52 2014 +0400
oleaut32/tests: Use local IDispatch test impl instead of global variable.
---
dlls/oleaut32/tests/vartype.c | 64 ++++++++++++++++++++++++++++-------------
1 file changed, 44 insertions(+), 20 deletions(-)
diff --git a/dlls/oleaut32/tests/vartype.c b/dlls/oleaut32/tests/vartype.c
index bc74e2e..035502a 100644
--- a/dlls/oleaut32/tests/vartype.c
+++ b/dlls/oleaut32/tests/vartype.c
@@ -537,8 +537,6 @@ typedef struct
BOOL bFailInvoke;
} DummyDispatch;
-static DummyDispatch dispatch;
-
static inline DummyDispatch *impl_from_IDispatch(IDispatch *iface)
{
return CONTAINING_RECORD(iface, DummyDispatch, IDispatch_iface);
@@ -599,6 +597,8 @@ static HRESULT WINAPI DummyDispatch_Invoke(IDispatch *iface,
EXCEPINFO *ei,
UINT *arg_err)
{
+ DummyDispatch *This = impl_from_IDispatch(iface);
+
CHECK_EXPECT(dispatch_invoke);
ok(dispid == DISPID_VALUE, "got dispid %d\n", dispid);
@@ -614,11 +614,11 @@ static HRESULT WINAPI DummyDispatch_Invoke(IDispatch *iface,
ok(ei == NULL, "got %p\n", ei);
ok(arg_err == NULL, "got %p\n", arg_err);
- if (dispatch.bFailInvoke)
+ if (This->bFailInvoke)
return E_OUTOFMEMORY;
- V_VT(res) = dispatch.vt;
- if (dispatch.vt == VT_UI1)
+ V_VT(res) = This->vt;
+ if (This->vt == VT_UI1)
V_UI1(res) = 1;
else
memset(res, 0, sizeof(*res));
@@ -637,7 +637,13 @@ static const IDispatchVtbl DummyDispatch_VTable =
DummyDispatch_Invoke
};
-static DummyDispatch dispatch = { { &DummyDispatch_VTable }, 1, 0, 0 };
+static void init_test_dispatch(LONG ref, VARTYPE vt, DummyDispatch *dispatch)
+{
+ dispatch->IDispatch_iface.lpVtbl = &DummyDispatch_VTable;
+ dispatch->ref = ref;
+ dispatch->vt = vt;
+ dispatch->bFailInvoke = FALSE;
+}
/*
* VT_I1/VT_UI1
@@ -1111,6 +1117,7 @@ static void test_VarUI1FromStr(void)
static void test_VarUI1FromDisp(void)
{
+ DummyDispatch dispatch;
CONVVARS(LCID);
VARIANTARG vSrc, vDst;
@@ -1133,10 +1140,9 @@ static void test_VarUI1FromDisp(void)
VariantInit(&vSrc);
VariantInit(&vDst);
+ init_test_dispatch(1, VT_UI1, &dispatch);
V_VT(&vSrc) = VT_DISPATCH;
V_DISPATCH(&vSrc) = &dispatch.IDispatch_iface;
- dispatch.vt = VT_UI1;
- dispatch.bFailInvoke = FALSE;
SET_EXPECT(dispatch_invoke);
out = 10;
@@ -5693,8 +5699,11 @@ static void test_IUnknownClear(void)
{
HRESULT hres;
VARIANTARG v;
- DummyDispatch u = { { &DummyDispatch_VTable }, 1, VT_UI1, FALSE };
- IUnknown* pu = (IUnknown*)&u.IDispatch_iface;
+ DummyDispatch u;
+ IUnknown* pu;
+
+ init_test_dispatch(1, VT_UI1, &u);
+ pu = (IUnknown*)&u.IDispatch_iface;
/* Test that IUnknown_Release is called on by-value */
V_VT(&v) = VT_UNKNOWN;
@@ -5718,8 +5727,11 @@ static void test_IUnknownCopy(void)
{
HRESULT hres;
VARIANTARG vSrc, vDst;
- DummyDispatch u = { { &DummyDispatch_VTable }, 1, VT_UI1, FALSE };
- IUnknown* pu = (IUnknown*)&u.IDispatch_iface;
+ DummyDispatch u;
+ IUnknown* pu;
+
+ init_test_dispatch(1, VT_UI1, &u);
+ pu = (IUnknown*)&u.IDispatch_iface;
/* AddRef is called on by-value copy */
VariantInit(&vDst);
@@ -5766,8 +5778,11 @@ static void test_IUnknownChangeTypeEx(void)
VARIANTARG vSrc, vDst;
LCID lcid;
VARTYPE vt;
- DummyDispatch u = { { &DummyDispatch_VTable }, 1, VT_UI1, FALSE };
- IUnknown* pu = (IUnknown*)&u.IDispatch_iface;
+ DummyDispatch u;
+ IUnknown* pu;
+
+ init_test_dispatch(1, VT_UI1, &u);
+ pu = (IUnknown*)&u.IDispatch_iface;
lcid = MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT);
@@ -5831,8 +5846,11 @@ static void test_IDispatchClear(void)
{
HRESULT hres;
VARIANTARG v;
- DummyDispatch d = { { &DummyDispatch_VTable }, 1, VT_UI1, FALSE };
- IDispatch* pd = &d.IDispatch_iface;
+ DummyDispatch d;
+ IDispatch* pd;
+
+ init_test_dispatch(1, VT_UI1, &d);
+ pd = &d.IDispatch_iface;
/* As per IUnknown */
@@ -5856,8 +5874,11 @@ static void test_IDispatchCopy(void)
{
HRESULT hres;
VARIANTARG vSrc, vDst;
- DummyDispatch d = { { &DummyDispatch_VTable }, 1, VT_UI1, FALSE };
- IDispatch* pd = &d.IDispatch_iface;
+ DummyDispatch d;
+ IDispatch* pd;
+
+ init_test_dispatch(1, VT_UI1, &d);
+ pd = &d.IDispatch_iface;
/* As per IUnknown */
@@ -5901,8 +5922,11 @@ static void test_IDispatchChangeTypeEx(void)
HRESULT hres;
VARIANTARG vSrc, vDst;
LCID lcid;
- DummyDispatch d = { { &DummyDispatch_VTable }, 1, VT_UI1, FALSE };
- IDispatch* pd = &d.IDispatch_iface;
+ DummyDispatch d;
+ IDispatch* pd;
+
+ init_test_dispatch(1, VT_UI1, &d);
+ pd = &d.IDispatch_iface;
lcid = MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT);
More information about the wine-cvs
mailing list