vbscript: Fix array reference handling in do_icall.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2019-10-23 15:10:58 +02:00 committed by Alexandre Julliard
parent 410154e280
commit 9e3c806e53
2 changed files with 3 additions and 4 deletions

View File

@ -544,10 +544,10 @@ static HRESULT do_icall(exec_ctx_t *ctx, VARIANT *res)
switch(V_VT(v)) {
case VT_ARRAY|VT_BYREF|VT_VARIANT:
array = *V_ARRAYREF(ref.u.v);
array = *V_ARRAYREF(v);
break;
case VT_ARRAY|VT_VARIANT:
array = V_ARRAY(ref.u.v);
array = V_ARRAY(v);
break;
case VT_DISPATCH:
vbstack_to_dp(ctx, arg_cnt, FALSE, &dp);

View File

@ -1300,8 +1300,7 @@ Call testarrarg(false, "VT_BOOL*")
Call testarrarg(Empty, "VT_EMPTY*")
Sub modifyarr(arr)
'Following test crashes on wine
'Call ok(arr(0) = "not modified", "arr(0) = " & arr(0))
Call ok(arr(0) = "not modified", "arr(0) = " & arr(0))
arr(0) = "modified"
End Sub