[PATCH 7/9] oleaut32: Copy the value directly returned from the called function if it is not an HRESULT value, instead of getting it from a [retval] attribute.

Robert Shearman rob at codeweavers.com
Tue Feb 6 13:24:51 CST 2007


---
  dlls/oleaut32/typelib.c |   13 +++++++++++++
  1 files changed, 13 insertions(+), 0 deletions(-)
-------------- next part --------------
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index 3a0afbc..311cda9 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -5682,6 +5682,19 @@ static HRESULT WINAPI ITypeInfo_fnInvoke
                     }
                 }
             }
+            if (V_VT(&varresult) != VT_ERROR)
+            {
+                TRACE("varresult value: ");
+                dump_Variant(&varresult);
+
+                if (pVarResult)
+                {
+                    VariantClear(pVarResult);
+                    *pVarResult = varresult;
+                }
+                else
+                    VariantClear(&varresult);
+            }
 
 func_fail:
             HeapFree(GetProcessHeap(), 0, buffer);


More information about the wine-patches mailing list