Module: wine Branch: master Commit: b6db22da3bfbe4ab93c953406e76c4674af7051c URL: http://source.winehq.org/git/wine.git/?a=commit;h=b6db22da3bfbe4ab93c953406e...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Mar 20 12:28:12 2014 +0100
oleaut32: Fixed vartest.c tests on Windows 8.1.
---
dlls/oleaut32/tests/vartest.c | 11 ++++------- dlls/oleaut32/variant.c | 3 ++- 2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/dlls/oleaut32/tests/vartest.c b/dlls/oleaut32/tests/vartest.c index 2f82d9b..d28b5c1 100644 --- a/dlls/oleaut32/tests/vartest.c +++ b/dlls/oleaut32/tests/vartest.c @@ -542,14 +542,11 @@ static void _test_bstr_var(unsigned line, const VARIANT *v, const char *str)
static void test_VariantInit(void) { - VARIANTARG v1, v2; + VARIANT v;
- /* Test that VariantInit() only sets the type */ - memset(&v1, -1, sizeof(v1)); - v2 = v1; - V_VT(&v2) = VT_EMPTY; - VariantInit(&v1); - ok(!memcmp(&v1, &v2, sizeof(v1)), "VariantInit() set extra fields\n"); + memset(&v, -1, sizeof(v)); + VariantInit(&v); + ok(V_VT(&v) == VT_EMPTY, "VariantInit() returned vt %d\n", V_VT(&v)); }
/* All possible combinations of extra V_VT() flags */ diff --git a/dlls/oleaut32/variant.c b/dlls/oleaut32/variant.c index 92cf01b..053903e 100644 --- a/dlls/oleaut32/variant.c +++ b/dlls/oleaut32/variant.c @@ -575,7 +575,8 @@ void WINAPI VariantInit(VARIANTARG* pVarg) { TRACE("(%p)\n", pVarg);
- V_VT(pVarg) = VT_EMPTY; /* Native doesn't set any other fields */ + /* Win8.1 zeroes whole struct. Previous implementations don't set any other fields. */ + V_VT(pVarg) = VT_EMPTY; }
HRESULT VARIANT_ClearInd(VARIANTARG *pVarg)