Commit 585763ff authored by James Hawkins's avatar James Hawkins Committed by Alexandre Julliard

oleaut32: Only BYREF DispCallFunc args whose input args are not BYREF should be changed.

parent 0e5bd51d
......@@ -5360,9 +5360,11 @@ static HRESULT WINAPI ITypeInfo_fnInvoke(
{
if (wParamFlags & PARAMFLAG_FOUT)
{
hres = VariantChangeType(&pDispParams->rgvarg[pDispParams->cArgs - 1 - i],
&rgvarg[i], 0,
V_VT(&pDispParams->rgvarg[pDispParams->cArgs - 1 - i]));
VARIANTARG *arg = &pDispParams->rgvarg[pDispParams->cArgs - 1 - i];
if ((rgvt[i] == VT_BYREF) && (V_VT(arg) != VT_BYREF))
hres = VariantChangeType(arg, &rgvarg[i], 0, V_VT(arg));
if (FAILED(hres))
{
ERR("failed to convert param %d to vt %d\n", i,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment