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. |