Module: wine Branch: master Commit: 6888ea3913e5318a0fdbc5f61c715b47699d07a5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=6888ea3913e5318a0fdbc5f61c...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Sep 17 01:06:13 2009 +0200
jscript: Fixed NULL IDispatch comparistion.
---
dlls/jscript/engine.c | 4 ++-- dlls/jscript/tests/lang.js | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/jscript/engine.c b/dlls/jscript/engine.c index 783b6e5..5ae829e 100644 --- a/dlls/jscript/engine.c +++ b/dlls/jscript/engine.c @@ -261,8 +261,8 @@ static HRESULT disp_cmp(IDispatch *disp1, IDispatch *disp2, BOOL *ret) return S_OK; }
- if(!disp1) { - *ret = !disp2; + if(!disp1 || !disp2) { + *ret = FALSE; return S_OK; }
diff --git a/dlls/jscript/tests/lang.js b/dlls/jscript/tests/lang.js index 08caa73..bc77110 100644 --- a/dlls/jscript/tests/lang.js +++ b/dlls/jscript/tests/lang.js @@ -943,6 +943,8 @@ ok(getVT(true && nullDisp) === "VT_DISPATCH", "getVT(0 && nullDisp) = " + getVT(true && nullDisp)); ok(!nullDisp === true, "!nullDisp = " + !nullDisp); ok(String(nullDisp) === "null", "String(nullDisp) = " + String(nullDisp)); +ok(nullDisp != new Object(), "nullDisp == new Object()"); +ok(new Object() != nullDisp, "new Object() == nullDisp");
function do_test() {} function nosemicolon() {} nosemicolon();