From 6888ea3913e5318a0fdbc5f61c715b47699d07a5 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Thu, 17 Sep 2009 01:06:13 +0200 Subject: [PATCH] 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 783b6e5a979..5ae829ec7aa 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 08caa73d907..bc771109a21 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(); -- 2.11.4.GIT