James Hawkins : oleaut32: Copy BYREF args directly if they have the same variant type.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jun 6 05:15:48 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 0e5bd51d28eaa3a7d72c583f7cd822218ca4b351
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=0e5bd51d28eaa3a7d72c583f7cd822218ca4b351

Author: James Hawkins <truiken at 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




More information about the wine-cvs mailing list