From 3cb0c8133680c7e602802d2f34d722defb89ca9f Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Wed, 16 Apr 2014 17:09:26 +0900 Subject: [PATCH] ole32: Add support for VT_INT/VT_UINT to PropVariantClear and PropVariantCopy. --- dlls/ole32/ole2.c | 10 ++++++++++ dlls/ole32/tests/propvariant.c | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/dlls/ole32/ole2.c b/dlls/ole32/ole2.c index 67a17f8a461..407ae38fb19 100644 --- a/dlls/ole32/ole2.c +++ b/dlls/ole32/ole2.c @@ -2863,6 +2863,8 @@ static inline HRESULT PROPVARIANT_ValidateType(VARTYPE vt) case VT_UI2: case VT_UI4: case VT_UI8: + case VT_INT: + case VT_UINT: case VT_LPSTR: case VT_LPWSTR: case VT_FILETIME: @@ -2890,6 +2892,8 @@ static inline HRESULT PROPVARIANT_ValidateType(VARTYPE vt) case VT_UI2|VT_VECTOR: case VT_UI4|VT_VECTOR: case VT_UI8|VT_VECTOR: + case VT_INT|VT_VECTOR: + case VT_UINT|VT_VECTOR: case VT_LPSTR|VT_VECTOR: case VT_LPWSTR|VT_VECTOR: case VT_FILETIME|VT_VECTOR: @@ -2936,6 +2940,8 @@ HRESULT WINAPI PropVariantClear(PROPVARIANT * pvar) /* [in/out] */ case VT_UI2: case VT_UI4: case VT_UI8: + case VT_INT: + case VT_UINT: case VT_FILETIME: break; case VT_STREAM: @@ -3042,6 +3048,8 @@ HRESULT WINAPI PropVariantCopy(PROPVARIANT *pvarDest, /* [out] */ case VT_ERROR: case VT_I8: case VT_UI8: + case VT_INT: + case VT_UINT: case VT_R8: case VT_CY: case VT_DATE: @@ -3110,6 +3118,8 @@ HRESULT WINAPI PropVariantCopy(PROPVARIANT *pvarDest, /* [out] */ case VT_ERROR: elemSize = sizeof(pvarSrc->u.scode); break; case VT_I8: elemSize = sizeof(pvarSrc->u.hVal); break; case VT_UI8: elemSize = sizeof(pvarSrc->u.uhVal); break; + case VT_INT: elemSize = sizeof(pvarSrc->u.lVal); break; + case VT_UINT: elemSize = sizeof(pvarSrc->u.ulVal); break; case VT_CY: elemSize = sizeof(pvarSrc->u.cyVal); break; case VT_DATE: elemSize = sizeof(pvarSrc->u.date); break; case VT_FILETIME: elemSize = sizeof(pvarSrc->u.filetime); break; diff --git a/dlls/ole32/tests/propvariant.c b/dlls/ole32/tests/propvariant.c index 8a6def12952..9e0f66b5e28 100644 --- a/dlls/ole32/tests/propvariant.c +++ b/dlls/ole32/tests/propvariant.c @@ -64,8 +64,8 @@ static const struct valid_mapping { PROP_V0 , PROP_V1 | PROP_TODO , PROP_V0 , PROP_V1 | PROP_TODO }, /* VT_UI4 */ { PROP_V0 , PROP_V1A | PROP_TODO, PROP_V0 , PROP_V1A | PROP_TODO }, /* VT_I8 */ { PROP_V0 , PROP_V1A | PROP_TODO, PROP_V0 , PROP_V1A | PROP_TODO }, /* VT_UI8 */ - { PROP_V1 | PROP_TODO , PROP_V1 | PROP_TODO , PROP_INV, PROP_V1 | PROP_TODO }, /* VT_INT */ - { PROP_V1 | PROP_TODO , PROP_V1 | PROP_TODO , PROP_INV, PROP_V1 | PROP_TODO }, /* VT_UINT */ + { PROP_V1 , PROP_V1 | PROP_TODO , PROP_V1 , PROP_V1 | PROP_TODO }, /* VT_INT */ + { PROP_V1 , PROP_V1 | PROP_TODO , PROP_V1 , PROP_V1 | PROP_TODO }, /* VT_UINT */ { PROP_INV, PROP_INV, PROP_INV, PROP_INV }, /* VT_VOID */ { PROP_INV, PROP_INV, PROP_INV, PROP_INV }, /* VT_HRESULT */ { PROP_INV, PROP_INV, PROP_INV, PROP_INV }, /* VT_PTR */