oleaut32: Fixed vartest.c tests on Windows 8.1.

This commit is contained in:
Jacek Caban 2014-03-20 12:28:12 +01:00 committed by Alexandre Julliard
parent 20e4705192
commit b6db22da3b
2 changed files with 6 additions and 8 deletions

View File

@ -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 */

View File

@ -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)