From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/propsys/propvar.c | 4 ++++ dlls/propsys/tests/propsys.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/propsys/propvar.c b/dlls/propsys/propvar.c index c36999e6424..8ab9b0b7a92 100644 --- a/dlls/propsys/propvar.c +++ b/dlls/propsys/propvar.c @@ -409,6 +409,9 @@ static HRESULT string_alloc_from_int(const PROPVARIANT *var, WCHAR **ret)
switch (var->vt) { + case VT_I1: + value = (negative = var->cVal < 0) ? -var->cVal : var->cVal; + break; case VT_I2: value = (negative = var->iVal < 0) ? -var->iVal : var->iVal; break; @@ -492,6 +495,7 @@ HRESULT WINAPI PropVariantToStringAlloc(REFPROPVARIANT propvarIn, WCHAR **ret) } break;
+ case VT_I1: case VT_I2: case VT_I4: case VT_UI2: diff --git a/dlls/propsys/tests/propsys.c b/dlls/propsys/tests/propsys.c index dc2302784ae..6fce3cd51d5 100644 --- a/dlls/propsys/tests/propsys.c +++ b/dlls/propsys/tests/propsys.c @@ -1766,7 +1766,6 @@ static void test_PropVariantToBSTR(void)
todo_wine { - check_PropVariantToBSTR(VT_I1, cVal, -123, L"-123"); check_PropVariantToBSTR(VT_I8, hVal.QuadPart, -101112, L"-101112"); check_PropVariantToBSTR(VT_UI1, bVal, 0xcd, L"205"); check_PropVariantToBSTR(VT_UI4, ulVal, 0xdeadbeef, L"3735928559"); @@ -1775,6 +1774,7 @@ static void test_PropVariantToBSTR(void) check_PropVariantToBSTR(VT_R4, fltVal, 0.125f, L"0.125"); check_PropVariantToBSTR(VT_R8, dblVal, 0.456, L"0.456"); } + check_PropVariantToBSTR(VT_I1, cVal, -123, L"-123"); check_PropVariantToBSTR(VT_I2, iVal, -456, L"-456"); check_PropVariantToBSTR(VT_I4, lVal, -789, L"-789"); check_PropVariantToBSTR(VT_UI2, uiVal, 57005, L"57005");