|
From: <br...@us...> - 2012-08-19 05:25:22
|
Revision: 4314
http://openvrml.svn.sourceforge.net/openvrml/?rev=4314&view=rev
Author: braden
Date: 2012-08-19 05:25:12 +0000 (Sun, 19 Aug 2012)
Log Message:
-----------
XULRunner 14.0 replaces the JSContext* argument to JSFinalizeOp with JSFreeOp* and removes the JSContext* argument from JS_GetParent.
Modified Paths:
--------------
branches/0.18/ChangeLog
branches/0.18/configure.ac
branches/0.18/src/script/javascript.cpp
Property Changed:
----------------
branches/0.18/
Property changes on: branches/0.18
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/0.17:3713,3717,3719,3721,3725,3730,3732,3743,3746,3748,3750,3752,3754,3757,3759-3760,3764,3766,3824,3828,3836
/branches/local:3677-3689
/branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668,3670-3671,3673-3674,3684-3685,3687-3688,3736-3801
/trunk:3958,3965,3967,3969,3971,3973,3975-3976,3979,3981,3983,3985,3987,3989,3991,3997,3999,4001,4003,4005,4011,4013-4014,4017,4019,4021,4024,4026,4028,4030,4032,4041,4043,4045,4047,4053,4055,4057,4059,4061,4063,4065,4067,4069,4071,4073,4075,4077,4079,4081,4083,4085,4087,4089,4091,4093,4095,4097,4099,4101,4107-4108,4113,4115,4117,4119-4120,4122,4124,4129,4131,4133,4135,4137,4139,4141,4143,4145,4147-4148,4150,4156,4159-4160,4162,4164,4169,4171,4174,4178-4179,4181,4183,4186,4188,4190,4192,4194,4196,4198-4199,4201,4203,4206,4208,4210,4212,4214,4216,4218,4220,4222,4224,4226,4228,4230,4232,4236,4243,4245,4247,4249,4251,4253,4255,4257,4259,4261,4264,4266,4268,4270,4272,4274,4276,4278,4280-4281,4283,4285,4287,4292,4294,4296,4298,4300,4302,4304,4306,4308-4309,4311
+ /branches/0.17:3713,3717,3719,3721,3725,3730,3732,3743,3746,3748,3750,3752,3754,3757,3759-3760,3764,3766,3824,3828,3836
/branches/local:3677-3689
/branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668,3670-3671,3673-3674,3684-3685,3687-3688,3736-3801
/trunk:3958,3965,3967,3969,3971,3973,3975-3976,3979,3981,3983,3985,3987,3989,3991,3997,3999,4001,4003,4005,4011,4013-4014,4017,4019,4021,4024,4026,4028,4030,4032,4041,4043,4045,4047,4053,4055,4057,4059,4061,4063,4065,4067,4069,4071,4073,4075,4077,4079,4081,4083,4085,4087,4089,4091,4093,4095,4097,4099,4101,4107-4108,4113,4115,4117,4119-4120,4122,4124,4129,4131,4133,4135,4137,4139,4141,4143,4145,4147-4148,4150,4156,4159-4160,4162,4164,4169,4171,4174,4178-4179,4181,4183,4186,4188,4190,4192,4194,4196,4198-4199,4201,4203,4206,4208,4210,4212,4214,4216,4218,4220,4222,4224,4226,4228,4230,4232,4236,4243,4245,4247,4249,4251,4253,4255,4257,4259,4261,4264,4266,4268,4270,4272,4274,4276,4278,4280-4281,4283,4285,4287,4292,4294,4296,4298,4300,4302,4304,4306,4308-4309,4311,4313
Modified: branches/0.18/ChangeLog
===================================================================
--- branches/0.18/ChangeLog 2012-08-19 04:37:17 UTC (rev 4313)
+++ branches/0.18/ChangeLog 2012-08-19 05:25:12 UTC (rev 4314)
@@ -1,5 +1,15 @@
2012-08-19 Braden McDaniel <br...@en...>
+ XULRunner 14.0 replaces the JSContext* argument to JSFinalizeOp
+ with JSFreeOp* and removes the JSContext* argument from
+ JS_GetParent.
+
+ * configure.ac
+ * src/script/javascript.cpp
+
+
+2012-08-19 Braden McDaniel <br...@en...>
+
* src/script/javascript.cpp: JS_SetPrivate no longer returns a
boolean value.
Modified: branches/0.18/configure.ac
===================================================================
--- branches/0.18/configure.ac 2012-08-19 04:37:17 UTC (rev 4313)
+++ branches/0.18/configure.ac 2012-08-19 05:25:12 UTC (rev 4314)
@@ -342,6 +342,45 @@
[Defined if JS_SetContext does not take a JSContext argument])])
#
+# XULRunner 14.0 replaces the JSContext* argument to JSFinalizeOp with
+# JSFreeOp*.
+#
+AC_CACHE_CHECK([whether SpiderMonkey JSFinalizeOp uses JSFreeOp],
+[ov_cv_jsfinalizeop_uses_jsfreeop],
+[ov_cv_jsfinalizeop_uses_jsfreeop=no
+ov_save_CPPFLAGS=$CPPFLAGS
+CPPFLAGS="$JS_CFLAGS $CPPFLAGS"
+AC_LANG_ASSERT([C])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+[[#include <jsapi.h>]],
+[[JSFreeOp * fop = 0; JSFinalizeOp finalize = 0; finalize(fop, 0)]])],
+[ov_cv_jsfinalizeop_uses_jsfreeop=yes])
+CPPFLAGS=$ov_save_CPPFLAGS
+])
+AS_IF([test X$ov_cv_jsfinalizeop_uses_jsfreeop = Xyes],
+ [AC_DEFINE([OPENVRML_JS_FINALIZEOP_USES_FREEOP], [1],
+ [Defined if JSFinalizeOp takes a JSFreeOp argument])])
+
+#
+# XULRunner 14.0 removes the JSContext argument from JS_GetParent.
+#
+AC_CACHE_CHECK([whether SpiderMonkey JS_GetParent is used without a JSContext],
+[ov_cv_js_getparent_without_context],
+[ov_cv_js_getparent_without_context=no
+ov_save_CPPFLAGS=$CPPFLAGS
+CPPFLAGS="$JS_CFLAGS $CPPFLAGS"
+AC_LANG_ASSERT([C])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+[[#include <jsapi.h>]],
+[[JS_GetParent(0)]])],
+[ov_cv_js_getparent_without_context=yes])
+CPPFLAGS=$ov_save_CPPFLAGS
+])
+AS_IF([test X$ov_cv_js_getparent_without_context = Xyes],
+ [AC_DEFINE([OPENVRML_JS_GETPARENT_WITHOUT_CONTEXT], [1],
+ [Defined if JS_GetParent does not take a JSContext argument])])
+
+#
# openvrml-xembed and openvrml-player both use GOption, which was
# introduced in GLib 2.6.
#
Modified: branches/0.18/src/script/javascript.cpp
===================================================================
--- branches/0.18/src/script/javascript.cpp 2012-08-19 04:37:17 UTC (rev 4313)
+++ branches/0.18/src/script/javascript.cpp 2012-08-19 05:25:12 UTC (rev 4314)
@@ -164,7 +164,17 @@
# endif
}
+ OPENVRML_LOCAL
+ JSObject * js_get_parent(JSContext * const cx, JSObject * const obj)
+ {
+# ifdef OPENVRML_JS_GETPARENT_WITHOUT_CONTEXT
+ return JS_GetParent(obj);
+# else
+ return JS_GetParent(cx, obj);
+# endif
+ }
+
# ifdef OPENVRML_FAST_JSNATIVE
# define OPENVRML_DECLARE_JSNATIVE(name) \
JSBool (name)(JSContext * cx, unsigned argc, jsval * vp)
@@ -268,6 +278,22 @@
JSPropertyOp openvrml_JS_StrictPropertyStub = JS_PropertyStub;
# endif
+# ifdef OPENVRML_JS_FINALIZEOP_USES_FREEOP
+# define OPENVRML_DECLARE_JSFINALIZEOP(name) \
+ void (name)(JSFreeOp * fop, JSObject * obj)
+
+# define OPENVRML_DEFINE_MEMBER_JSFINALIZEOP(class_name, name) \
+ void class_name::name(JSFreeOp * fop, JSObject * obj)
+
+# else
+# define OPENVRML_DECLARE_JSFINALIZEOP(name) \
+ void (name)(JSContext * cx, JSObject * obj)
+
+# define OPENVRML_DEFINE_MEMBER_JSFINALIZEOP(class_name, name) \
+ void class_name::name(JSContext * cx, JSObject * obj)
+
+# endif
+
class SFNode;
class MFNode;
@@ -489,7 +515,7 @@
};
protected:
- static void finalize(JSContext * cx, JSObject * obj) OPENVRML_NOTHROW;
+ static OPENVRML_DECLARE_JSFINALIZEOP(finalize);
static OPENVRML_DECLARE_JSNATIVE(toString);
private:
sfield();
@@ -755,7 +781,7 @@
static OPENVRML_DECLARE_JSSTRICTPROPERTYOP(setElement);
static OPENVRML_DECLARE_JSSTRICTPROPERTYOP(setLength);
static OPENVRML_DECLARE_JSNATIVE(toString);
- static void finalize(JSContext * cx, JSObject * obj) OPENVRML_NOTHROW;
+ static OPENVRML_DECLARE_JSFINALIZEOP(finalize);
private:
static JSBool initObject(JSContext * cx, JSObject * obj,
@@ -778,7 +804,7 @@
static OPENVRML_DECLARE_JSSTRICTPROPERTYOP(setElement);
static OPENVRML_DECLARE_JSSTRICTPROPERTYOP(setLength);
static OPENVRML_DECLARE_JSNATIVE(toString);
- static void finalize(JSContext * cx, JSObject * obj) OPENVRML_NOTHROW;
+ static OPENVRML_DECLARE_JSFINALIZEOP(finalize);
private:
static JSBool initObject(JSContext * cx, JSObject * obj,
@@ -803,7 +829,7 @@
static OPENVRML_DECLARE_JSSTRICTPROPERTYOP(setElement);
static OPENVRML_DECLARE_JSSTRICTPROPERTYOP(setLength);
static OPENVRML_DECLARE_JSNATIVE(toString);
- static void finalize(JSContext * cx, JSObject * obj);
+ static OPENVRML_DECLARE_JSFINALIZEOP(finalize);
};
class OPENVRML_JAVASCRIPT_LOCAL MFColor : public MFJSObject<MFColor> {
@@ -862,7 +888,7 @@
static OPENVRML_DECLARE_JSSTRICTPROPERTYOP(setElement);
static OPENVRML_DECLARE_JSSTRICTPROPERTYOP(setLength);
static OPENVRML_DECLARE_JSNATIVE(toString);
- static void finalize(JSContext * cx, JSObject * obj);
+ static OPENVRML_DECLARE_JSFINALIZEOP(finalize);
};
//
@@ -890,7 +916,7 @@
static OPENVRML_DECLARE_JSSTRICTPROPERTYOP(setElement);
static OPENVRML_DECLARE_JSSTRICTPROPERTYOP(setLength);
static OPENVRML_DECLARE_JSNATIVE(toString);
- static void finalize(JSContext * cx, JSObject * obj) OPENVRML_NOTHROW;
+ static OPENVRML_DECLARE_JSFINALIZEOP(finalize);
};
class OPENVRML_JAVASCRIPT_LOCAL MFRotation : public MFJSObject<MFRotation> {
@@ -927,7 +953,7 @@
static OPENVRML_DECLARE_JSSTRICTPROPERTYOP(setElement);
static OPENVRML_DECLARE_JSSTRICTPROPERTYOP(setLength);
static OPENVRML_DECLARE_JSNATIVE(toString);
- static void finalize(JSContext * cx, JSObject * obj) OPENVRML_NOTHROW;
+ static OPENVRML_DECLARE_JSFINALIZEOP(finalize);
};
class OPENVRML_JAVASCRIPT_LOCAL MFTime : public MFJSDouble<MFTime> {
@@ -1039,7 +1065,7 @@
static OPENVRML_DECLARE_JSNATIVE(multVecMatrix);
static OPENVRML_DECLARE_JSNATIVE(multMatrixVec);
static OPENVRML_DECLARE_JSNATIVE(toString);
- static void finalize(JSContext * cx, JSObject * obj) OPENVRML_NOTHROW;
+ static OPENVRML_DECLARE_JSFINALIZEOP(finalize);
private:
VrmlMatrix();
@@ -2618,9 +2644,11 @@
return *this->field_value_;
}
- void sfield::finalize(JSContext * const cx, JSObject * const obj)
- OPENVRML_NOTHROW
+ OPENVRML_DEFINE_MEMBER_JSFINALIZEOP(sfield, finalize)
{
+# ifdef OPENVRML_JS_FINALIZEOP_USES_FREEOP
+ static JSContext * const cx = 0;
+# endif
delete static_cast<field_data *>(js_get_private(cx, obj));
js_set_private(cx, obj, 0);
}
@@ -3760,7 +3788,7 @@
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFRotation::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -3809,7 +3837,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFRotation::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -3858,7 +3886,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec3f::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -3950,7 +3978,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFRotation::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -4227,7 +4255,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec2::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -4270,7 +4298,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec2::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -4371,7 +4399,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec2::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -4405,7 +4433,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec2::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -4439,7 +4467,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec2::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -4493,7 +4521,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec2::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -4838,7 +4866,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec3::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -4892,7 +4920,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec3::jsclass, proto, parent);
if (!robj) {return JS_FALSE; }
@@ -4935,7 +4963,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec3::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -5036,7 +5064,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec3::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -5070,7 +5098,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec3::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -5104,7 +5132,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec3::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -5158,7 +5186,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec3::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -5522,11 +5550,12 @@
}
template <typename Subclass>
- void MFJSObject<Subclass>::finalize(JSContext * const cx, JSObject * const obj)
- OPENVRML_NOTHROW
+ OPENVRML_DEFINE_MEMBER_JSFINALIZEOP(MFJSObject<Subclass>, finalize)
{
- assert(cx);
assert(obj);
+# ifdef OPENVRML_JS_FINALIZEOP_USES_FREEOP
+ static JSContext * const cx = 0;
+# endif
MFData * const mfdata = static_cast<MFData *>(js_get_private(cx, obj));
if (mfdata) {
RemoveRoots(cx, mfdata->array);
@@ -5735,9 +5764,11 @@
}
template <typename Subclass>
- void MFJSDouble<Subclass>::finalize(JSContext * const cx, JSObject * const obj)
- OPENVRML_NOTHROW
+ OPENVRML_DEFINE_MEMBER_JSFINALIZEOP(MFJSDouble<Subclass>, finalize)
{
+# ifdef OPENVRML_JS_FINALIZEOP_USES_FREEOP
+ static JSContext * const cx = 0;
+# endif
MFData * const mfdata = static_cast<MFData *>(js_get_private(cx, obj));
if (mfdata) {
RemoveRoots(cx, mfdata->array);
@@ -5946,8 +5977,11 @@
return JS_TRUE;
}
- void MFBool::finalize(JSContext * const cx, JSObject * const obj)
+ OPENVRML_DEFINE_MEMBER_JSFINALIZEOP(MFBool, finalize)
{
+# ifdef OPENVRML_JS_FINALIZEOP_USES_FREEOP
+ static JSContext * const cx = 0;
+# endif
delete static_cast<MFData *>(js_get_private(cx, obj));
js_set_private(cx, obj, 0);
}
@@ -6414,8 +6448,11 @@
return JS_TRUE;
}
- void MFInt32::finalize(JSContext * const cx, JSObject * const obj)
+ OPENVRML_DEFINE_MEMBER_JSFINALIZEOP(MFInt32, finalize)
{
+# ifdef OPENVRML_JS_FINALIZEOP_USES_FREEOP
+ static JSContext * const cx = 0;
+# endif
delete static_cast<MFData *>(js_get_private(cx, obj));
js_set_private(cx, obj, 0);
}
@@ -6717,11 +6754,12 @@
return JS_TRUE;
}
- void MFNode::finalize(JSContext * const cx, JSObject * const obj)
- OPENVRML_NOTHROW
+ OPENVRML_DEFINE_MEMBER_JSFINALIZEOP(MFNode, finalize)
{
- assert(cx);
assert(obj);
+# ifdef OPENVRML_JS_FINALIZEOP_USES_FREEOP
+ static JSContext * const cx = 0;
+# endif
MFData * const mfdata = static_cast<MFData *>(js_get_private(cx, obj));
if (mfdata) {
RemoveRoots(cx, mfdata->array);
@@ -7067,9 +7105,11 @@
return JS_TRUE;
}
- void MFString::finalize(JSContext * const cx, JSObject * const obj)
- OPENVRML_NOTHROW
+ OPENVRML_DEFINE_MEMBER_JSFINALIZEOP(MFString, finalize)
{
+# ifdef OPENVRML_JS_FINALIZEOP_USES_FREEOP
+ static JSContext * const cx = 0;
+# endif
MFData * const mfdata = static_cast<MFData *>(js_get_private(cx, obj));
if (mfdata) {
RemoveRoots(cx, mfdata->array);
@@ -7684,12 +7724,11 @@
// Construct the result object.
//
JSObject * const robj = js_construct_object(cx, &Row::jsclass, 0,
- JS_GetParent(cx, obj));
+ js_get_parent(cx, obj));
if (!robj) { return JS_FALSE; }
float (&row)[4] = (*thisMat)[jspropertyop_id_to_int(id)];
- js_set_private(cx, robj, &row));
- *vp = OBJECT_TO_JSVAL(robj);
+ js_set_private(cx, robj, &row);
}
return JS_TRUE;
}
@@ -7869,8 +7908,8 @@
JSObject * const robj =
js_construct_object(cx, &VrmlMatrix::jsclass, 0,
- JS_GetParent(cx,
- OPENVRML_JS_THIS_OBJECT(cx, vp)));
+ js_get_parent(cx,
+ OPENVRML_JS_THIS_OBJECT(cx, vp)));
if (!robj) { return JS_FALSE; }
const mat4f * const thisMat =
@@ -7891,8 +7930,8 @@
JSObject * const robj =
js_construct_object(cx, &VrmlMatrix::jsclass, 0,
- JS_GetParent(cx,
- OPENVRML_JS_THIS_OBJECT(cx, vp)));
+ js_get_parent(cx,
+ OPENVRML_JS_THIS_OBJECT(cx, vp)));
if (!robj) { return JS_FALSE; }
const mat4f * const thisMat =
@@ -7935,8 +7974,8 @@
//
JSObject * const robj =
js_construct_object(cx, &VrmlMatrix::jsclass, 0,
- JS_GetParent(cx,
- OPENVRML_JS_THIS_OBJECT(cx, vp)));
+ js_get_parent(cx,
+ OPENVRML_JS_THIS_OBJECT(cx, vp)));
if (!robj) { return JS_FALSE; }
void * robj_private_data = js_get_private(cx, robj);
assert(robj_private_data);
@@ -7975,8 +8014,8 @@
//
JSObject * const robj =
js_construct_object(cx, &VrmlMatrix::jsclass, 0,
- JS_GetParent(cx,
- OPENVRML_JS_THIS_OBJECT(cx, vp)));
+ js_get_parent(cx,
+ OPENVRML_JS_THIS_OBJECT(cx, vp)));
if (!robj) { return JS_FALSE; }
void * private_data = js_get_private(cx, robj);
assert(private_data);
@@ -8022,7 +8061,7 @@
//
static JSObject * const proto = 0;
JSObject * const parent =
- JS_GetParent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
+ js_get_parent(cx, OPENVRML_JS_THIS_OBJECT(cx, vp));
JSObject * const robj =
js_construct_object(cx, &SFVec3f::jsclass, proto, parent);
if (!robj) { return JS_FALSE; }
@@ -8073,8 +8112,8 @@
//
JSObject * const robj =
js_construct_object(cx, &SFVec3f::jsclass, 0,
- JS_GetParent(cx,
- OPENVRML_JS_THIS_OBJECT(cx, vp)));
+ js_get_parent(cx,
+ OPENVRML_JS_THIS_OBJECT(cx, vp)));
if (!robj) { return JS_FALSE; }
assert(js_get_private(cx, robj));
@@ -8113,9 +8152,11 @@
return JS_TRUE;
}
- void VrmlMatrix::finalize(JSContext * const cx, JSObject * const obj)
- OPENVRML_NOTHROW
+ OPENVRML_DEFINE_MEMBER_JSFINALIZEOP(VrmlMatrix, finalize)
{
+# ifdef OPENVRML_JS_FINALIZEOP_USES_FREEOP
+ static JSContext * const cx = 0;
+# endif
delete static_cast<openvrml::mat4f *>(js_get_private(cx, obj));
js_set_private(cx, obj, 0);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|