Nikolay Sivov : vbscript: Support VT_BYREF|VT_DISPATCH as a DISPID_NEWENUM source.

Alexandre Julliard julliard at winehq.org
Wed Feb 5 13:18:53 CST 2014


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Wed Feb  5 09:05:17 2014 +0400

vbscript: Support VT_BYREF|VT_DISPATCH as a DISPID_NEWENUM source.

---

 dlls/vbscript/interp.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/vbscript/interp.c b/dlls/vbscript/interp.c
index 6365461..75e17af 100644
--- a/dlls/vbscript/interp.c
+++ b/dlls/vbscript/interp.c
@@ -1074,12 +1074,13 @@ static HRESULT interp_newenum(exec_ctx_t *ctx)
 
     v = stack_pop(ctx);
     switch(V_VT(v)) {
+    case VT_DISPATCH|VT_BYREF:
     case VT_DISPATCH: {
         IEnumVARIANT *iter;
         DISPPARAMS dp = {0};
         VARIANT iterv;
 
-        hres = disp_call(ctx->script, V_DISPATCH(v), DISPID_NEWENUM, &dp, &iterv);
+        hres = disp_call(ctx->script, V_ISBYREF(v) ? *V_DISPATCHREF(v) : V_DISPATCH(v), DISPID_NEWENUM, &dp, &iterv);
         VariantClear(v);
         if(FAILED(hres))
             return hres;




More information about the wine-cvs mailing list