Module: wine Branch: refs/heads/master Commit: 0e5bd51d28eaa3a7d72c583f7cd822218ca4b351 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=0e5bd51d28eaa3a7d72c583f...
Author: James Hawkins truiken@gmail.com Date: Mon Jun 5 17:47:00 2006 -0500
oleaut32: Copy BYREF args directly if they have the same variant type.
---
dlls/oleaut32/typelib.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c index ce4f02f..c4b2f56 100644 --- a/dlls/oleaut32/typelib.c +++ b/dlls/oleaut32/typelib.c @@ -5264,6 +5264,11 @@ static HRESULT WINAPI ITypeInfo_fnInvoke V_BYREF(&rgvarg[i]) = &V_NONE(&missing_arg[i]); V_VT(&rgvarg[i]) = rgvt[i]; } + else if ((rgvt[i] & VT_BYREF) && (rgvt[i] == V_VT(src_arg))) + { + V_BYREF(&rgvarg[i]) = V_BYREF(src_arg); + V_VT(&rgvarg[i]) = rgvt[i]; + } else { /* FIXME: this doesn't work for VT_BYREF arguments if