|
From: <br...@us...> - 2012-09-01 05:50:25
|
Revision: 4316
http://openvrml.svn.sourceforge.net/openvrml/?rev=4316&view=rev
Author: braden
Date: 2012-09-01 05:50:16 +0000 (Sat, 01 Sep 2012)
Log Message:
-----------
XULRunner 15.0 removes JSVAL_IS_OBJECT.
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,4313
+ /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,4315
Modified: branches/0.18/ChangeLog
===================================================================
--- branches/0.18/ChangeLog 2012-09-01 05:48:09 UTC (rev 4315)
+++ branches/0.18/ChangeLog 2012-09-01 05:50:16 UTC (rev 4316)
@@ -1,3 +1,10 @@
+2012-09-01 Braden McDaniel <br...@en...>
+
+ XULRunner 15.0 removes JSVAL_IS_OBJECT.
+
+ * configure.ac
+ * src/script/javascript.cpp
+
2012-08-19 Braden McDaniel <br...@en...>
XULRunner 14.0 replaces the JSContext* argument to JSFinalizeOp
Modified: branches/0.18/configure.ac
===================================================================
--- branches/0.18/configure.ac 2012-09-01 05:48:09 UTC (rev 4315)
+++ branches/0.18/configure.ac 2012-09-01 05:50:16 UTC (rev 4316)
@@ -311,12 +311,15 @@
[ov_cv_js_has_finalizestub=no
ov_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$JS_CFLAGS $CPPFLAGS"
+ov_save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$JS_LIBS $LDFLAGS"
AC_LANG_ASSERT([C])
AC_LINK_IFELSE([AC_LANG_PROGRAM(
[[#include <jsapi.h>]],
[[JS_FinalizeStub(0, 0)]])],
[ov_cv_js_has_finalizestub=yes])
CPPFLAGS=$ov_save_CPPFLAGS
+LDFLAGS=$ov_save_LDFLAGS
])
AS_IF([test X$ov_cv_js_has_finalizestub = Xyes],
[AC_DEFINE([OPENVRML_JS_HAS_FINALIZESTUB], [1],
@@ -381,6 +384,28 @@
[Defined if JS_GetParent does not take a JSContext argument])])
#
+# XULRunner 15.0 removes JSVAL_IS_OBJECT.
+#
+AC_CACHE_CHECK([whether SpiderMonkey has JSVAL_IS_OBJECT],
+[ov_cv_js_has_jsval_is_object],
+[ov_cv_js_has_jsval_is_object=no
+ov_save_CPPFLAGS=$CPPFLAGS
+CPPFLAGS="$JS_CFLAGS $CPPFLAGS"
+ov_save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$JS_LIBS $LDFLAGS"
+AC_LANG_ASSERT([C])
+AC_LINK_IFELSE([AC_LANG_PROGRAM(
+[[#include <jsapi.h>]],
+[[jsval val; JSVAL_IS_OBJECT(val)]])],
+[ov_cv_js_has_jsval_is_object=yes])
+CPPFLAGS=$ov_save_CPPFLAGS
+LDFLAGS=$ov_save_LDFLAGS
+])
+AS_IF([test X$ov_cv_js_has_jsval_is_object = Xyes],
+ [AC_DEFINE([OPENVRML_JS_HAS_JSVAL_IS_OBJECT], [1],
+ [Defined if SpiderMonkey has JSVAL_IS_OBJECT])])
+
+#
# 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-09-01 05:48:09 UTC (rev 4315)
+++ branches/0.18/src/script/javascript.cpp 2012-09-01 05:50:16 UTC (rev 4316)
@@ -294,6 +294,15 @@
# endif
+ bool jsval_is_object_or_null(const jsval & val)
+ {
+# ifdef OPENVRML_JS_HAS_JSVAL_IS_OBJECT
+ return JSVAL_IS_OBJECT(val);
+# else
+ return val.isObjectOrNull();
+# endif
+ }
+
class SFNode;
class MFNode;
@@ -1302,7 +1311,7 @@
throw std::bad_alloc();
}
assert(val != JSVAL_VOID);
- if (JSVAL_IS_OBJECT(val)) {
+ if (jsval_is_object_or_null(val)) {
field_data * fieldData =
static_cast<field_data *>
(js_get_private(this->cx, JSVAL_TO_OBJECT(val)));
@@ -2019,7 +2028,9 @@
}
case field_value::sfcolor_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
return auto_ptr<field_value>
(SFColor::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
@@ -2051,19 +2062,26 @@
}
case field_value::sfimage_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
return auto_ptr<field_value>
(SFImage::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::sfnode_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
return auto_ptr<field_value>
(SFNode::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::sfrotation_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (SFRotation::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ SFRotation::createFromJSObject(cx, JSVAL_TO_OBJECT(v))
+ .release());
case field_value::sfstring_id:
{
@@ -2091,89 +2109,124 @@
}
case field_value::sfvec2f_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (SFVec2f::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ SFVec2f::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::sfvec2d_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (SFVec2d::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ SFVec2d::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::sfvec3f_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (SFVec3f::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ SFVec3f::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::sfvec3d_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (SFVec3d::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ SFVec3d::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::mfbool_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (MFBool::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ MFBool::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::mfcolor_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (MFColor::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ MFColor::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::mffloat_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (MFFloat::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ MFFloat::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::mfdouble_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (MFDouble::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ MFDouble::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::mfint32_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (MFInt32::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ MFInt32::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::mfnode_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (MFNode::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ MFNode::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::mfrotation_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (MFRotation::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ MFRotation::createFromJSObject(cx, JSVAL_TO_OBJECT(v))
+ .release());
case field_value::mfstring_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (MFString::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ MFString::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::mftime_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (MFTime::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ MFTime::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::mfvec2f_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (MFVec2f::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ MFVec2f::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::mfvec2d_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (MFVec2d::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ MFVec2d::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::mfvec3f_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (MFVec3f::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ MFVec3f::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
case field_value::mfvec3d_id:
- if (!JSVAL_IS_OBJECT(v)) { throw bad_conversion("Object expected."); }
- return auto_ptr<field_value>
- (MFVec3d::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
+ if (!jsval_is_object_or_null(v)) {
+ throw bad_conversion("Object expected.");
+ }
+ return auto_ptr<field_value>(
+ MFVec3d::createFromJSObject(cx, JSVAL_TO_OBJECT(v)).release());
default:
assert(false);
@@ -3560,7 +3613,7 @@
OPENVRML_DEFINE_MEMBER_JSNATIVE(SFRotation, construct)
{
double rot[4] = { 0.0, 1.0, 0.0, 0.0 };
- if (argc > 1 && JSVAL_IS_OBJECT(OPENVRML_JS_ARGV(cx, vp)[0])
+ if (argc > 1 && jsval_is_object_or_null(OPENVRML_JS_ARGV(cx, vp)[0])
&& JSVAL_IS_NUMBER(OPENVRML_JS_ARGV(cx, vp)[1])) {
JSObject * axis_obj = 0;
if (!JS_ConvertArguments(cx, argc, OPENVRML_JS_ARGV(cx, vp), "od",
@@ -3581,8 +3634,9 @@
rot[0] = axis.value().x();
rot[1] = axis.value().y();
rot[2] = axis.value().z();
- } else if (argc > 1 && JSVAL_IS_OBJECT(OPENVRML_JS_ARGV(cx, vp)[0])
- && JSVAL_IS_OBJECT(OPENVRML_JS_ARGV(cx, vp)[1])) {
+ } else if (argc > 1
+ && jsval_is_object_or_null(OPENVRML_JS_ARGV(cx, vp)[0])
+ && jsval_is_object_or_null(OPENVRML_JS_ARGV(cx, vp)[1])) {
JSObject * from_obj = 0, * to_obj = 0;
if (!JS_ConvertArguments(cx, argc, OPENVRML_JS_ARGV(cx, vp), "oo",
&from_obj, &to_obj)) {
@@ -5394,7 +5448,7 @@
std::auto_ptr<MFData> mfdata(new MFData(argc));
for (unsigned i = 0; i < argc; ++i) {
- if (!JSVAL_IS_OBJECT(argv[i])
+ if (!jsval_is_object_or_null(argv[i])
|| !JS_InstanceOf(cx, JSVAL_TO_OBJECT(argv[i]),
&Subclass::sfjsclass, argv)) {
return JS_FALSE;
@@ -5533,7 +5587,7 @@
std::ostringstream out;
out << '[';
for (JsvalArray::size_type i = 0; i < mfdata->array.size(); ++i) {
- assert(JSVAL_IS_OBJECT(mfdata->array[i]));
+ assert(jsval_is_object_or_null(mfdata->array[i]));
const sfield::sfdata * const sfdata =
static_cast<sfield::sfdata *>
(js_get_private(cx, JSVAL_TO_OBJECT(mfdata->array[i])));
@@ -6027,7 +6081,7 @@
mfcolor(new openvrml::mfcolor(mfdata->array.size()));
std::vector<openvrml::color> temp = mfcolor->value();
for (MField::JsvalArray::size_type i = 0; i < mfdata->array.size(); ++i) {
- assert(JSVAL_IS_OBJECT(mfdata->array[i]));
+ assert(jsval_is_object_or_null(mfdata->array[i]));
assert(JS_InstanceOf(cx, JSVAL_TO_OBJECT(mfdata->array[i]),
&SFColor::jsclass, 0));
const sfield::sfdata * const sfdata =
@@ -6517,7 +6571,7 @@
//
// Make sure all args are SFNodes.
//
- if (!JSVAL_IS_OBJECT(argv[i])
+ if (!jsval_is_object_or_null(argv[i])
|| !JS_InstanceOf(cx, JSVAL_TO_OBJECT(argv[i]),
&sfnode_jsclass, argv)) {
return JS_FALSE;
@@ -6583,7 +6637,7 @@
mfnode(new openvrml::mfnode(mfdata->array.size()));
std::vector<boost::intrusive_ptr<openvrml::node> > temp = mfnode->value();
for (MField::JsvalArray::size_type i = 0; i < mfdata->array.size(); ++i) {
- assert(JSVAL_IS_OBJECT(mfdata->array[i]));
+ assert(jsval_is_object_or_null(mfdata->array[i]));
assert(JS_InstanceOf(cx, JSVAL_TO_OBJECT(mfdata->array[i]),
&sfnode_jsclass, 0));
const sfield::sfdata * const sfdata =
@@ -6834,7 +6888,7 @@
mfrotation(new openvrml::mfrotation(mfdata->array.size()));
std::vector<openvrml::rotation> temp = mfrotation->value();
for (MField::JsvalArray::size_type i = 0; i < mfdata->array.size(); ++i) {
- assert(JSVAL_IS_OBJECT(mfdata->array[i]));
+ assert(jsval_is_object_or_null(mfdata->array[i]));
assert(JS_InstanceOf(cx, JSVAL_TO_OBJECT(mfdata->array[i]),
&SFRotation::jsclass, 0));
const sfield::sfdata * const sfdata =
@@ -7254,7 +7308,7 @@
mfvec2f(new openvrml::mfvec2f(mfdata->array.size()));
std::vector<openvrml::vec2f> temp = mfvec2f->value();
for (MField::JsvalArray::size_type i = 0; i < mfdata->array.size(); ++i) {
- assert(JSVAL_IS_OBJECT(mfdata->array[i]));
+ assert(jsval_is_object_or_null(mfdata->array[i]));
assert(JS_InstanceOf(cx, JSVAL_TO_OBJECT(mfdata->array[i]),
&SFVec2f::jsclass, 0));
const sfield::sfdata * const sfdata =
@@ -7335,7 +7389,7 @@
mfvec2d(new openvrml::mfvec2d(mfdata->array.size()));
std::vector<openvrml::vec2d> temp = mfvec2d->value();
for (MField::JsvalArray::size_type i = 0; i < mfdata->array.size(); ++i) {
- assert(JSVAL_IS_OBJECT(mfdata->array[i]));
+ assert(jsval_is_object_or_null(mfdata->array[i]));
assert(JS_InstanceOf(cx, JSVAL_TO_OBJECT(mfdata->array[i]),
&SFVec2d::jsclass, 0));
const sfield::sfdata * const sfdata =
@@ -7417,7 +7471,7 @@
std::vector<openvrml::vec3f> temp = mfvec3f->value();
for (MField::JsvalArray::size_type i = 0;
i < mfdata->array.size(); ++i) {
- assert(JSVAL_IS_OBJECT(mfdata->array[i]));
+ assert(jsval_is_object_or_null(mfdata->array[i]));
assert(JS_InstanceOf(cx, JSVAL_TO_OBJECT(mfdata->array[i]),
&SFVec3f::jsclass, 0));
const sfield::sfdata * const sfdata =
@@ -7499,7 +7553,7 @@
std::vector<openvrml::vec3d> temp = mfvec3d->value();
for (MField::JsvalArray::size_type i = 0;
i < mfdata->array.size(); ++i) {
- assert(JSVAL_IS_OBJECT(mfdata->array[i]));
+ assert(jsval_is_object_or_null(mfdata->array[i]));
assert(JS_InstanceOf(cx, JSVAL_TO_OBJECT(mfdata->array[i]),
&SFVec3d::jsclass, 0));
const sfield::sfdata * const sfdata =
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|