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 aa71a26feaa..42629d029c4 100644 --- a/dlls/propsys/propvar.c +++ b/dlls/propsys/propvar.c @@ -418,6 +418,9 @@ static HRESULT string_alloc_from_int(const PROPVARIANT *var, WCHAR **ret) case VT_I4: value = (negative = var->lVal < 0) ? -var->lVal : var->lVal; break; + case VT_I8: + value = (negative = var->hVal.QuadPart < 0) ? -var->hVal.QuadPart : var->hVal.QuadPart; + break; case VT_UI1: value = var->bVal; break; @@ -504,6 +507,7 @@ HRESULT WINAPI PropVariantToStringAlloc(REFPROPVARIANT propvarIn, WCHAR **ret) case VT_I1: case VT_I2: case VT_I4: + case VT_I8: case VT_UI1: case VT_UI2: case VT_UI4: diff --git a/dlls/propsys/tests/propsys.c b/dlls/propsys/tests/propsys.c index 31218a42583..7b5581c8062 100644 --- a/dlls/propsys/tests/propsys.c +++ b/dlls/propsys/tests/propsys.c @@ -1764,7 +1764,6 @@ static void test_PropVariantToBSTR(void)
todo_wine { - check_PropVariantToBSTR(VT_I8, hVal.QuadPart, -101112, L"-101112"); check_PropVariantToBSTR(VT_UI8, uhVal.QuadPart, 0xdeadbeefdeadbeef, L"16045690984833335023"); check_PropVariantToBSTR(VT_BOOL, boolVal, TRUE, L"1"); check_PropVariantToBSTR(VT_R4, fltVal, 0.125f, L"0.125"); @@ -1773,6 +1772,7 @@ static void test_PropVariantToBSTR(void) 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_I8, hVal.QuadPart, -101112, L"-101112"); check_PropVariantToBSTR(VT_UI1, bVal, 205, L"205"); check_PropVariantToBSTR(VT_UI2, uiVal, 57005, L"57005"); check_PropVariantToBSTR(VT_UI4, ulVal, 0xdeadbeef, L"3735928559");