-- v2: jscript: Use actual object disp for the return value when defining property. jscript: Make JS_COUNT_OPERATION a no-op.
From: Gabriel Ivăncescu gabrielopcode@gmail.com
It's not an error, and this just pollutes the logs for no reason.
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/jscript/regexp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/jscript/regexp.c b/dlls/jscript/regexp.c index 325b5ad56d6..a29b4bb90e1 100644 --- a/dlls/jscript/regexp.c +++ b/dlls/jscript/regexp.c @@ -45,7 +45,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(jscript); #define ReportRegExpErrorHelper(a,b,c,d) throw_error((a)->context, E_FAIL, L"") #define JS_ReportErrorNumber(a,b,c,d) throw_error((a), E_FAIL, L"") #define JS_ReportErrorFlagsAndNumber(a,b,c,d,e,f) throw_error((a), E_FAIL, L"") -#define JS_COUNT_OPERATION(a,b) throw_error((a), E_FAIL, L"") +#define JS_COUNT_OPERATION(a,b) do { } while(0)
typedef BYTE JSPackedBool;
From: Gabriel Ivăncescu gabrielopcode@gmail.com
Prevents crash when the object is not a jsdisp.
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/jscript/object.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/jscript/object.c b/dlls/jscript/object.c index da544c6b1c3..843d029a53a 100644 --- a/dlls/jscript/object.c +++ b/dlls/jscript/object.c @@ -710,8 +710,10 @@ static HRESULT Object_defineProperty(script_ctx_t *ctx, jsval_t vthis, WORD flag hres = jsdisp_define_property(obj, name, &prop_desc); jsstr_release(name_str); release_property_descriptor(&prop_desc); - if(SUCCEEDED(hres) && r) - *r = jsval_obj(jsdisp_addref(obj)); + if(SUCCEEDED(hres) && r) { + *r = jsval_disp(get_object(argv[0])); + IDispatch_AddRef(get_object(argv[0])); + } return hres; }
Jacek Caban (@jacek) commented about dlls/jscript/object.c:
hres = jsdisp_define_property(obj, name, &prop_desc); jsstr_release(name_str); release_property_descriptor(&prop_desc);
- if(SUCCEEDED(hres) && r)
*r = jsval_obj(jsdisp_addref(obj));
- if(SUCCEEDED(hres) && r) {
*r = jsval_disp(get_object(argv[0]));
IDispatch_AddRef(get_object(argv[0]));
- }
Why do we need it? We ensure that obj is a jsdisp earlier in the function.
On Sun Jul 14 09:46:34 2024 +0000, Jacek Caban wrote:
Why do we need it? We ensure that obj is a jsdisp earlier in the function.
Oops, you're right, I messed it up with a CrossOver hack. I'll remove the commit.