From: Jacek Caban jacek@codeweavers.com
To avoid falling into JSCLASS_OBJECT special-case in disp_call_value_with_caller. --- dlls/jscript/dispex.c | 2 +- dlls/jscript/jscript.h | 1 + dlls/jscript/object.c | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/jscript/dispex.c b/dlls/jscript/dispex.c index 436fc8e1e69..0e8650f12e5 100644 --- a/dlls/jscript/dispex.c +++ b/dlls/jscript/dispex.c @@ -3418,7 +3418,7 @@ static HRESULT HostObject_to_string(jsdisp_t *jsdisp, jsstr_t **ret) }
static const builtin_info_t HostObject_info = { - .class = JSCLASS_OBJECT, + .class = JSCLASS_HOST, .addref = HostObject_addref, .release = HostObject_release, .lookup_prop = HostObject_lookup_prop, diff --git a/dlls/jscript/jscript.h b/dlls/jscript/jscript.h index 1cb423cff31..456f00171ed 100644 --- a/dlls/jscript/jscript.h +++ b/dlls/jscript/jscript.h @@ -119,6 +119,7 @@ typedef enum { JSCLASS_MAP, JSCLASS_SET, JSCLASS_WEAKMAP, + JSCLASS_HOST, } jsclass_t;
jsdisp_t *iface_to_jsdisp(IDispatch*); diff --git a/dlls/jscript/object.c b/dlls/jscript/object.c index da544c6b1c3..feeff5c294a 100644 --- a/dlls/jscript/object.c +++ b/dlls/jscript/object.c @@ -55,7 +55,8 @@ static HRESULT Object_toString(script_ctx_t *ctx, jsval_t vthis, WORD flags, uns L"[object Object]", L"[object Object]", L"[object Object]", - L"[object Object]" + L"[object Object]", + NULL };
TRACE("\n");