Rob Shearman : oleaut32: Handle non-byref safe arrays in VARIANT_UserFree.

Alexandre Julliard julliard at winehq.org
Mon Nov 12 06:27:44 CST 2007


Module: wine
Branch: master
Commit: 6539b3801d983491034526d63d3e1b544acf706b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=6539b3801d983491034526d63d3e1b544acf706b

Author: Rob Shearman <rob at codeweavers.com>
Date:   Sun Nov 11 12:28:41 2007 +0000

oleaut32: Handle non-byref safe arrays in VARIANT_UserFree.

---

 dlls/oleaut32/usrmarshal.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/dlls/oleaut32/usrmarshal.c b/dlls/oleaut32/usrmarshal.c
index 49381b3..3f84fab 100644
--- a/dlls/oleaut32/usrmarshal.c
+++ b/dlls/oleaut32/usrmarshal.c
@@ -661,7 +661,12 @@ void WINAPI VARIANT_UserFree(ULONG *pFlags, VARIANT *pvar)
   if (!ref) return;
 
   if(vt & VT_ARRAY)
-    LPSAFEARRAY_UserFree(pFlags, V_ARRAYREF(pvar));
+  {
+    if (vt & VT_BYREF)
+      LPSAFEARRAY_UserFree(pFlags, V_ARRAYREF(pvar));
+    else
+      LPSAFEARRAY_UserFree(pFlags, &V_ARRAY(pvar));
+  }
   else
   {
     switch (vt)




More information about the wine-cvs mailing list