diff --git a/source/gui/scripting/JSInterface_IGUIObject.cpp b/source/gui/scripting/JSInterface_IGUIObject.cpp index 3ce0b0b24d..e0c033d682 100644 --- a/source/gui/scripting/JSInterface_IGUIObject.cpp +++ b/source/gui/scripting/JSInterface_IGUIObject.cpp @@ -29,6 +29,7 @@ #include "ps/CLogger.h" #include "scriptinterface/ScriptInterface.h" +#include "scriptinterface/ScriptExtraHeaders.h" JSClass JSI_IGUIObject::JSI_class = { "GUIObject", JSCLASS_HAS_PRIVATE, @@ -612,7 +613,7 @@ bool JSI_IGUIObject::construct(JSContext* cx, uint argc, jsval* vp) JS::RootedObject obj(cx, pScriptInterface->CreateCustomObject("GUIObject")); // Store the IGUIObject in the JS object's 'private' area - IGUIObject* guiObject = (IGUIObject*)JSVAL_TO_PRIVATE(args[0]); + IGUIObject* guiObject = (IGUIObject*)args[0].get().toPrivate(); JS_SetPrivate(obj, guiObject); args.rval().setObject(*obj); diff --git a/source/scriptinterface/ScriptExtraHeaders.h b/source/scriptinterface/ScriptExtraHeaders.h index 3df401757d..caab7d8c52 100644 --- a/source/scriptinterface/ScriptExtraHeaders.h +++ b/source/scriptinterface/ScriptExtraHeaders.h @@ -46,6 +46,7 @@ #endif #include "jsfriendapi.h" +#include "js/Conversions.h" #include "js/GCAPI.h" #include "js/StructuredClone.h" diff --git a/source/scriptinterface/tests/test_ScriptConversions.h b/source/scriptinterface/tests/test_ScriptConversions.h index 1faa35659f..5ad3bc9d85 100644 --- a/source/scriptinterface/tests/test_ScriptConversions.h +++ b/source/scriptinterface/tests/test_ScriptConversions.h @@ -188,20 +188,20 @@ public: ScriptInterface::ToJSVal(cx, &val2, 2147483647); // JSVAL_INT_MAX ScriptInterface::ToJSVal(cx, &val3, -2147483647); // JSVAL_INT_MIN+1 ScriptInterface::ToJSVal(cx, &val4, -(i64)2147483648u); // JSVAL_INT_MIN - TS_ASSERT(JSVAL_IS_INT(val0)); - TS_ASSERT(JSVAL_IS_INT(val1)); - TS_ASSERT(JSVAL_IS_INT(val2)); - TS_ASSERT(JSVAL_IS_INT(val3)); - TS_ASSERT(JSVAL_IS_INT(val4)); + TS_ASSERT(val0.isInt32()); + TS_ASSERT(val1.isInt32()); + TS_ASSERT(val2.isInt32()); + TS_ASSERT(val3.isInt32()); + TS_ASSERT(val4.isInt32()); ScriptInterface::ToJSVal(cx, &val5, 0); ScriptInterface::ToJSVal(cx, &val6, 2147483646u); // JSVAL_INT_MAX-1 ScriptInterface::ToJSVal(cx, &val7, 2147483647u); // JSVAL_INT_MAX ScriptInterface::ToJSVal(cx, &val8, 2147483648u); // JSVAL_INT_MAX+1 - TS_ASSERT(JSVAL_IS_INT(val5)); - TS_ASSERT(JSVAL_IS_INT(val6)); - TS_ASSERT(JSVAL_IS_INT(val7)); - TS_ASSERT(JSVAL_IS_DOUBLE(val8)); + TS_ASSERT(val5.isInt32()); + TS_ASSERT(val6.isInt32()); + TS_ASSERT(val7.isInt32()); + TS_ASSERT(val8.isDouble()); } void test_nonfinite() diff --git a/source/simulation2/serialization/BinarySerializer.cpp b/source/simulation2/serialization/BinarySerializer.cpp index a17b877723..7f7e82f54a 100644 --- a/source/simulation2/serialization/BinarySerializer.cpp +++ b/source/simulation2/serialization/BinarySerializer.cpp @@ -387,7 +387,7 @@ void CBinarySerializerScriptImpl::HandleScriptVal(JS::HandleValue val) case JSTYPE_BOOLEAN: { m_Serializer.NumberU8_Unbounded("type", SCRIPT_TYPE_BOOLEAN); - bool b = JSVAL_TO_BOOLEAN(val); + bool b = val.toBoolean(); m_Serializer.NumberU8_Unbounded("value", b ? 1 : 0); break; }