Compatibility with non-threadsafe SpiderMonkey

This was SVN commit r7364.
This commit is contained in:
Ykkrosh 2010-03-19 19:54:00 +00:00
parent 99fc76e7dd
commit 31febafb05
4 changed files with 9 additions and 7 deletions

View File

@ -433,7 +433,7 @@ JSBool JSI_IGUIObject::setProperty(JSContext* cx, JSObject* obj, jsval id, jsval
return JS_FALSE;
}
}
else if (JSVAL_IS_OBJECT(*vp) && JS_GetClass(cx, JSVAL_TO_OBJECT(*vp)) == &JSI_GUISize::JSI_class)
else if (JSVAL_IS_OBJECT(*vp) && JS_InstanceOf(cx, JSVAL_TO_OBJECT(*vp), &JSI_GUISize::JSI_class, NULL))
{
CClientArea area;
GUI<CClientArea>::GetSetting(e, propName, area);
@ -470,7 +470,7 @@ JSBool JSI_IGUIObject::setProperty(JSContext* cx, JSObject* obj, jsval id, jsval
return JS_FALSE;
}
}
else if (JSVAL_IS_OBJECT(*vp) && JS_GetClass(cx, JSVAL_TO_OBJECT(*vp)) == &JSI_GUIColor::JSI_class)
else if (JSVAL_IS_OBJECT(*vp) && JS_InstanceOf(cx, JSVAL_TO_OBJECT(*vp), &JSI_GUIColor::JSI_class, NULL))
{
CColor colour;
JSObject* obj = JSVAL_TO_OBJECT(*vp);

View File

@ -250,7 +250,7 @@ JSBool IssueCommand( JSContext* cx, JSObject*, uintN argc, jsval* argv, jsval* r
CEntityList entities, msgEntities;
if (JS_GetClass(cx, JSVAL_TO_OBJECT(argv[0])) == &CEntity::JSI_class)
if (JS_InstanceOf(cx, JSVAL_TO_OBJECT(argv[0]), &CEntity::JSI_class, NULL))
entities.push_back( (ToNative<CEntity>(argv[0])) ->me);
else
entities = *EntityCollection::RetrieveSet(cx, JSVAL_TO_OBJECT(argv[0]));
@ -340,7 +340,7 @@ JSBool RemoveFromFormation( JSContext* cx, JSObject* UNUSED(obj), uintN argc, js
JSU_REQUIRE_PARAMS(1);
CEntityList entities;
if (JS_GetClass(cx, JSVAL_TO_OBJECT(argv[0])) == &CEntity::JSI_class)
if (JS_InstanceOf(cx, JSVAL_TO_OBJECT(argv[0]), &CEntity::JSI_class, NULL))
entities.push_back( (ToNative<CEntity>(argv[0])) ->me);
else
entities = *EntityCollection::RetrieveSet(cx, JSVAL_TO_OBJECT(argv[0]));

View File

@ -467,7 +467,9 @@ bool ScriptInterface::IsExceptionPending(JSContext* cx)
JSClass* ScriptInterface::GetClass(JSContext* cx, JSObject* obj)
{
return JS_GetClass(cx, obj);
UNUSED2(cx); // unused if not JS_THREADSAFE
return JS_GET_CLASS(cx, obj);
}
void* ScriptInterface::GetPrivate(JSContext* cx, JSObject* obj)

View File

@ -107,7 +107,7 @@ namespace wxjs
}
}
JSClass *clazz = JS_GetClass(cx, obj);
JSClass *clazz = JS_GET_CLASS(cx, obj);
if ( clazz == NULL )
return NULL;
@ -116,7 +116,7 @@ namespace wxjs
obj = JS_GetPrototype(cx, obj);
if ( obj == NULL )
return NULL;
clazz = JS_GetClass(cx, obj);
clazz = JS_GET_CLASS(cx, obj);
if ( clazz == NULL )
return NULL;
}