Jacek Caban : jscript: Fix Object.defineProperty return value.

Alexandre Julliard julliard at winehq.org
Wed Aug 21 14:39:33 CDT 2019


Module: wine
Branch: master
Commit: 7dab372271f8423e4ff2f6612179eaf5d4572610
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=7dab372271f8423e4ff2f6612179eaf5d4572610

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Aug 21 12:32:01 2019 +0200

jscript: Fix Object.defineProperty return value.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/jscript/object.c    | 2 ++
 dlls/mshtml/tests/es5.js | 5 +++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/jscript/object.c b/dlls/jscript/object.c
index 123541e..58db45b 100644
--- a/dlls/jscript/object.c
+++ b/dlls/jscript/object.c
@@ -500,6 +500,8 @@ static HRESULT Object_defineProperty(script_ctx_t *ctx, vdisp_t *jsthis, WORD fl
 
     hres = jsdisp_define_property(obj, name, &prop_desc);
     release_property_descriptor(&prop_desc);
+    if(SUCCEEDED(hres) && r)
+        *r = jsval_obj(jsdisp_addref(obj));
     return hres;
 }
 
diff --git a/dlls/mshtml/tests/es5.js b/dlls/mshtml/tests/es5.js
index 11b68e5..7ee8cc1 100644
--- a/dlls/mshtml/tests/es5.js
+++ b/dlls/mshtml/tests/es5.js
@@ -311,8 +311,9 @@ function test_defineProperty() {
         ok(false, "expected exception");
     }
 
-    var obj = new Object();
-    Object.defineProperty(obj, "test", {});
+    var obj = new Object(), defined;
+    defined = Object.defineProperty(obj, "test", {});
+    ok(defined === obj, "defined != obj");
     ok("test" in obj, "test is not in obj");
     test_own_data_prop_desc(obj, "test", false, false, false);
     ok(obj.test === undefined, "obj.test = " + obj.test);




More information about the wine-cvs mailing list