Module: wine Branch: master Commit: 6f45902252c06711c9ee0998693e5ccdd46b2e17 URL: http://source.winehq.org/git/wine.git/?a=commit;h=6f45902252c06711c9ee099869...
Author: Jacek Caban jacek@codeweavers.com Date: Sat Mar 8 14:52:44 2014 +0100
vbscript: Use VariantCopyInd in invoke_variant_prop.
---
dlls/vbscript/tests/lang.vbs | 10 +++++++++- dlls/vbscript/vbdisp.c | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/dlls/vbscript/tests/lang.vbs b/dlls/vbscript/tests/lang.vbs index 9189163..46b34c4 100644 --- a/dlls/vbscript/tests/lang.vbs +++ b/dlls/vbscript/tests/lang.vbs @@ -1061,12 +1061,20 @@ Class ArrClass classarr(2) = 3 classarr(3) = 4 End Sub + + Public Sub testVarVT + Call ok(getVT(var) = "VT_ARRAY|VT_VARIANT*", "getVT(var) = " & getVT(var)) + End Sub End Class
Set obj = new ArrClass -'todo_wine Call ok(getVT(obj.classarr) = "VT_ARRAY|VT_VARIANT", "getVT(obj.classarr) = " & getVT(obj.classarr)) +Call ok(getVT(obj.classarr) = "VT_ARRAY|VT_VARIANT", "getVT(obj.classarr) = " & getVT(obj.classarr)) 'todo_wine Call ok(obj.classarr(1) = 2, "obj.classarr(1) = " & obj.classarr(1))
+obj.var = arr +Call ok(getVT(obj.var) = "VT_ARRAY|VT_VARIANT", "getVT(obj.var) = " & getVT(obj.var)) +Call obj.testVarVT + Sub arrarg(byref refarr, byval valarr, byref refarr2, byval valarr2) Call ok(getVT(refarr) = "VT_ARRAY|VT_BYREF|VT_VARIANT*", "getVT(refarr) = " & getVT(refarr)) Call ok(getVT(valarr) = "VT_ARRAY|VT_VARIANT*", "getVT(valarr) = " & getVT(valarr)) diff --git a/dlls/vbscript/vbdisp.c b/dlls/vbscript/vbdisp.c index e902e00..6382570 100644 --- a/dlls/vbscript/vbdisp.c +++ b/dlls/vbscript/vbdisp.c @@ -109,7 +109,7 @@ static HRESULT invoke_variant_prop(VARIANT *v, WORD flags, DISPPARAMS *dp, VARIA return DISP_E_MEMBERNOTFOUND; /* That's what tests show */ }
- hres = VariantCopy(res, v); + hres = VariantCopyInd(res, v); break;
case DISPATCH_PROPERTYPUT: { @@ -129,7 +129,7 @@ static HRESULT invoke_variant_prop(VARIANT *v, WORD flags, DISPPARAMS *dp, VARIA if(res) V_VT(res) = VT_EMPTY;
- hres = VariantCopy(v, put_val); + hres = VariantCopyInd(v, put_val); break; }