Jacek Caban : jscript: Don' t use DISPPARAMS named args for internal parameter passing.

Alexandre Julliard julliard at winehq.org
Mon Jun 25 13:24:14 CDT 2012


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Jun 25 14:07:48 2012 +0200

jscript: Don't use DISPPARAMS named args for internal parameter passing.

---

 dlls/jscript/dispex.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/jscript/dispex.c b/dlls/jscript/dispex.c
index 37dc9de..c52ac7d 100644
--- a/dlls/jscript/dispex.c
+++ b/dlls/jscript/dispex.c
@@ -358,7 +358,8 @@ static HRESULT convert_params(const DISPPARAMS *dp, VARIANT *buf, DISPPARAMS *re
     VARIANT *d;
     unsigned i;
 
-    *ret = *dp;
+    ret->cArgs = dp->cArgs - dp->cNamedArgs;
+    ret->cNamedArgs = 0;
 
     for(i = 0; i < ret->cArgs && !need_conversion; i++) {
         switch(V_VT(get_arg(dp, i))) {
@@ -369,8 +370,10 @@ static HRESULT convert_params(const DISPPARAMS *dp, VARIANT *buf, DISPPARAMS *re
         }
     }
 
-    if(!need_conversion)
+    if(!need_conversion) {
+        ret->rgvarg = dp->rgvarg + dp->cNamedArgs;
         return S_OK;
+    }
 
     if(ret->cArgs > 6) {
         ret->rgvarg = heap_alloc(ret->cArgs * sizeof(VARIANT));




More information about the wine-cvs mailing list