diff -up freewrl-1.22.12_pre2/src/lib/world_script/fieldSet.c.gcc47 freewrl-1.22.12_pre2/src/lib/world_script/fieldSet.c
--- freewrl-1.22.12_pre2/src/lib/world_script/fieldSet.c.gcc47 2012-01-17 16:41:20.054089756 -0500
+++ freewrl-1.22.12_pre2/src/lib/world_script/fieldSet.c 2012-01-17 16:52:34.878617489 -0500
@@ -913,7 +913,7 @@ void setField_javascriptEventOut(struct
getMFNodetype (mynode,(struct Multi_Node *)memptr,X3D_NODE(tn),extraData); break;
}
case FIELDTYPE_MFString: {
- getMFStringtype (scriptContext, (jsval *)tg->CRoutes.JSglobal_return_val,(struct Multi_String *)memptr);
+ getMFStringtype (scriptContext, tg->CRoutes.JSglobal_return_val,(struct Multi_String *)memptr);
break;
}
@@ -1181,7 +1181,7 @@ void getJSMultiNumType (JSContext *cx, s
(unsigned int) JSVAL_TO_INT(tg->CRoutes.JSglobal_return_val));
#endif
- if (tg->jsVRMLBrowser.JSCreate_global_return_val!= INT_TO_JSVAL(0)) {
+ if (JSVAL_TO_INT(tg->jsVRMLBrowser.JSCreate_global_return_val) != 0) {
myJSVal = tg->jsVRMLBrowser.JSCreate_global_return_val;
tg->jsVRMLBrowser.JSCreate_global_return_val = INT_TO_JSVAL(0);
@@ -1434,7 +1434,7 @@ void getJSMultiNumType (JSContext *cx, s
/* a script is returning a MFString type; add this to the C */
/* children field */
/****************************************************************/
-void getMFStringtype (JSContext *cx, jsval *from, struct Multi_String *to) {
+void getMFStringtype (JSContext *cx, jsval from, struct Multi_String *to) {
int oldlen, newlen;
jsval _v;
JSObject *obj;
@@ -1450,7 +1450,7 @@ void getMFStringtype (JSContext *cx, jsv
svptr = to->p;
newlen=0;
- if (!JS_ValueToObject(cx, (jsval) from, &obj))
+ if (!JS_ValueToObject(cx, from, &obj))
printf ("JS_ValueToObject failed in getMFStringtype\n");
if (!JS_GetProperty(cx, obj, MF_LENGTH_FIELD, &_v)) {
diff -up freewrl-1.22.12_pre2/src/lib/world_script/fieldSet.h.gcc47 freewrl-1.22.12_pre2/src/lib/world_script/fieldSet.h
--- freewrl-1.22.12_pre2/src/lib/world_script/fieldSet.h.gcc47 2012-01-17 16:52:51.079463130 -0500
+++ freewrl-1.22.12_pre2/src/lib/world_script/fieldSet.h 2012-01-17 16:53:01.377365012 -0500
@@ -55,7 +55,7 @@ int findRoutedFieldInARR (struct X3D_Nod
int findFieldInARR(const char*, const char**, size_t);
void findFieldInOFFSETS(int, const int, int *, int *, int *);
void getJSMultiNumType(JSContext *, struct Multi_Vec3f *, int);
-void getMFStringtype(JSContext *, jsval *, struct Multi_String *);
+void getMFStringtype(JSContext *, jsval, struct Multi_String *);
int findIndexInFIELDNAMES(int, const char**, size_t);
char *findFIELDNAMESfromNodeOffset(struct X3D_Node *node, int offset);
void getMFNodetype (struct X3D_Node *strp, struct Multi_Node *ch, struct X3D_Node *par, int ar);
diff -up freewrl-1.22.12_pre2/src/lib/world_script/jsUtils.c.gcc47 freewrl-1.22.12_pre2/src/lib/world_script/jsUtils.c
--- freewrl-1.22.12_pre2/src/lib/world_script/jsUtils.c.gcc47 2012-01-17 16:53:58.993816049 -0500
+++ freewrl-1.22.12_pre2/src/lib/world_script/jsUtils.c 2012-01-17 20:06:26.346892508 -0500
@@ -192,7 +192,10 @@ static JSBool setSF_in_MF (JSContext *cx
#endif
#endif
- if (!setSFNodeField (cx, par, pf,
+ jsid idid;
+ JS_ValueToId(cx, pf, &idid);
+
+ if (!setSFNodeField (cx, par, idid,
#if JS_VERSION >= 185
JS_FALSE,
#endif
@@ -957,7 +960,10 @@ static JSBool getSFNodeField (JSContext
/* NOTE - caller is (eventually) a JS class constructor, no need to BeginRequest */
- _idStr = JS_ValueToString(context, id);
+ jsval myval;
+ JS_IdToValue(context,id,&myval);
+
+ _idStr = JS_ValueToString(context, myval);
#if JS_VERSION < 185
_id_c = JS_GetStringBytes(_idStr);
#else
@@ -1167,10 +1173,13 @@ JSBool setSFNodeField (JSContext *contex
/* get the id field... */
+ jsval myval;
+ JS_IdToValue(context,id,&myval);
+
#if JS_VERSION < 185
- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
+ _id_c = JS_GetStringBytes(JSVAL_TO_STRING(myval));
#else
- _id_c = JS_EncodeString(context,JSVAL_TO_STRING(id));
+ _id_c = JS_EncodeString(context,JSVAL_TO_STRING(myval));
#endif
#ifdef JSVRMLCLASSESVERBOSE
diff -up freewrl-1.22.12_pre2/src/lib/world_script/jsVRMLClasses.c.gcc47 freewrl-1.22.12_pre2/src/lib/world_script/jsVRMLClasses.c
--- freewrl-1.22.12_pre2/src/lib/world_script/jsVRMLClasses.c.gcc47 2012-01-17 16:30:57.029025097 -0500
+++ freewrl-1.22.12_pre2/src/lib/world_script/jsVRMLClasses.c 2012-01-17 20:15:44.233495123 -0500
@@ -1130,7 +1130,7 @@ _standardMFGetProperty(JSContext *cx,
return JS_FALSE;
}
- if (!doMFSetProperty(cx,obj,id,vp,type)) {
+ if (!doMFSetProperty(cx,obj,iid,vp,type)) {
printf ("wow, cant assign property\n");
}
}
@@ -1141,7 +1141,7 @@ _standardMFGetProperty(JSContext *cx,
printf( "JS_LookupElement failed in %d.\n",type);
return JS_FALSE;
}
- if (*vp == JSVAL_VOID) {
+ if (JSVAL_TO_INT(*vp) == 0) {
printf( "warning: %d: obj = %p, jsval = %d does not exist!\n",type,
obj, (int) _index);
return JS_TRUE;
@@ -1649,7 +1649,10 @@ doMFSetProperty(JSContext *cx, JSObject
#endif
#endif
- if (!setSFNodeField (cx, par, pf,
+ jsid myid;
+ JS_ValueToId(cx, pf, &myid);
+
+ if (!setSFNodeField (cx, par, myid,
#if JS_VERSION >= 185
JS_FALSE,
#endif
@@ -1740,7 +1743,7 @@ JSBool loadVrmlClasses(JSContext *contex
printf ("loading %s\n",JSLoadProps[i].id);
#endif
- v = 0;
+ v = INT_TO_JSVAL(0);
if (( myProto = JS_InitClass(context, globalObj, NULL, JSLoadProps[i].class,
JSLoadProps[i].constr, INIT_ARGC, NULL,
JSLoadProps[i].Functions, NULL, NULL)) == NULL) {
diff -up freewrl-1.22.12_pre2/src/lib/world_script/jsVRML_MFClasses.c.gcc47 freewrl-1.22.12_pre2/src/lib/world_script/jsVRML_MFClasses.c
--- freewrl-1.22.12_pre2/src/lib/world_script/jsVRML_MFClasses.c.gcc47 2012-01-17 20:16:03.984305095 -0500
+++ freewrl-1.22.12_pre2/src/lib/world_script/jsVRML_MFClasses.c 2012-01-17 20:16:38.586969274 -0500
@@ -1692,7 +1692,7 @@ VrmlMatrixGetProperty(JSContext *cx, JSO
"JS_LookupElement failed in VrmlMatrixGetProperty.\n");
return JS_FALSE;
}
- if (*vp == JSVAL_VOID) {
+ if (JSVAL_TO_INT(*vp) == 0) {
printf( "VrmlMatrixGetProperty: obj = %p, jsval = %d does not exist!\n",
obj, (int) _index);
return JS_FALSE;
@@ -1935,7 +1935,7 @@ MFStringGetProperty(JSContext *cx, JSObj
printf( "JS_LookupElement failed in MFStringGetProperty.\n");
return JS_FALSE;
}
- if (*vp == JSVAL_VOID) {
+ if (JSVAL_TO_INT(*vp) == 0) {
/* jut make up new strings, as above */
/* printf ("MFStringGetProperty, element %d is JSVAL_VOID, making up string for it\n",_index); */
_str = JS_NewStringCopyZ(cx, "NULL");
diff -up freewrl-1.22.12_pre2/src/lib/world_script/jsVRML_SFClasses.c.gcc47 freewrl-1.22.12_pre2/src/lib/world_script/jsVRML_SFClasses.c
--- freewrl-1.22.12_pre2/src/lib/world_script/jsVRML_SFClasses.c.gcc47 2012-01-17 20:17:12.466641491 -0500
+++ freewrl-1.22.12_pre2/src/lib/world_script/jsVRML_SFClasses.c 2012-01-17 20:17:47.502302531 -0500
@@ -1507,7 +1507,7 @@ SFNodeGetProperty(JSContext *cx, JSObjec
/* does the property exist? */
if (JS_LookupProperty (cx, obj, _id_c, &rval)) {
- if (rval == JSVAL_VOID) {
+ if (JSVAL_TO_INT(rval) == 0) {
ConsoleMessage ("SFNode - field :%s: does not exist",_id_c);
return JS_FALSE;
}