Jacek Caban : jscript: Fixed NULL IDispatch comparistion.

Alexandre Julliard julliard at winehq.org
Thu Sep 17 13:52:56 CDT 2009


Module: wine
Branch: master
Commit: 6888ea3913e5318a0fdbc5f61c715b47699d07a5
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=6888ea3913e5318a0fdbc5f61c715b47699d07a5

Author: Jacek Caban <jacek at 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();




More information about the wine-cvs mailing list