Module: wine Branch: master Commit: 8c0c09e4c707b41b4e5fd5492adfae41d577f7c5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8c0c09e4c707b41b4e5fd5492a...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Apr 1 11:50:29 2013 +0200
mshtml: Fixed builtin getter call with arguments.
---
dlls/mshtml/dispex.c | 4 ++-- dlls/mshtml/tests/jstest.html | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c index 38d9df4..d70ae2d 100644 --- a/dlls/mshtml/dispex.c +++ b/dlls/mshtml/dispex.c @@ -1216,7 +1216,7 @@ static HRESULT invoke_builtin_prop(DispatchEx *This, DISPID id, LCID lcid, WORD if(FAILED(hres)) return hres;
- if(flags != (DISPATCH_PROPERTYGET|DISPATCH_METHOD)) { + if(flags != (DISPATCH_PROPERTYGET|DISPATCH_METHOD) || dp->cArgs) { if(V_VT(&v) != VT_DISPATCH) { FIXME("Not a function %s\n", debugstr_variant(&v)); VariantClear(&v); @@ -1228,7 +1228,7 @@ static HRESULT invoke_builtin_prop(DispatchEx *This, DISPID id, LCID lcid, WORD }else if(res) { *res = v; }else { - IDispatch_Release(V_DISPATCH(&v)); + VariantClear(&v); } } } diff --git a/dlls/mshtml/tests/jstest.html b/dlls/mshtml/tests/jstest.html index ebf2861..4185112 100644 --- a/dlls/mshtml/tests/jstest.html +++ b/dlls/mshtml/tests/jstest.html @@ -137,6 +137,8 @@ function test_getter_call() { e.onmousedown = function(x) { this.onmousedown_called = x; }; e.onmousedown("test"); ok(e.onmousedown_called === "test", "e.onmousedown_called = " + e.onmousedown_called); + + ok(document.all("divid").tagName === "DIV", "document.all('divid').tagName = " + document.all("divid").tagName); }
function test_arg_conv() {