Nikolay Sivov : vbscript: Support VT_BYREF|VT_DISPATCH as a DISPID_NEWENUM source.
Module: wine Branch: master Commit: 9b037d559ec0639da9e0f71c0e825a282bb5135d URL: http://source.winehq.org/git/wine.git/?a=commit;h=9b037d559ec0639da9e0f71c0e... Author: Nikolay Sivov <nsivov(a)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;
participants (1)
-
Alexandre Julliard