From 962b81d607113f3e688810aad869fdce73f6311b Mon Sep 17 00:00:00 2001 From: Adam Gundy Date: Thu, 6 Mar 2003 22:42:28 +0000 Subject: [PATCH] Handle coercing VT_DISPATCH into VT_PTR. --- dlls/oleaut32/variant.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/oleaut32/variant.c b/dlls/oleaut32/variant.c index 3e634f7b330..035351c887c 100644 --- a/dlls/oleaut32/variant.c +++ b/dlls/oleaut32/variant.c @@ -1758,7 +1758,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, case VT_BSTR: case VT_ERROR: case VT_BOOL: case VT_VARIANT: case VT_DECIMAL: case VT_I1: case VT_UI1: case VT_UI2: case VT_UI4: case VT_I8: case VT_UI8: case VT_INT: - case VT_UINT: case VT_VOID: case VT_HRESULT: case VT_PTR: + case VT_UINT: case VT_VOID: case VT_HRESULT: case VT_SAFEARRAY: case VT_CARRAY: case VT_USERDEFINED: case VT_LPSTR: case VT_LPWSTR: case VT_RECORD: case VT_FILETIME: case VT_BLOB: case VT_STREAM: case VT_STORAGE: @@ -1766,6 +1766,9 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, case VT_CF: case VT_CLSID: res = DISP_E_TYPEMISMATCH; break; + case VT_PTR: + V_UNION(pd,pdispVal) = V_UNION(ps,pdispVal); + break; default: FIXME("Coercion from %d to VT_DISPATCH unhandled.\n", vtFrom); res = DISP_E_BADVARTYPE;