diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c index 1bf44214c230c096756cf11b2bb37443109ed068..0fdadc31eec24d091be1eb217a61db717f8bd772 100644 --- a/src/sbbs3/js_global.c +++ b/src/sbbs3/js_global.c @@ -73,7 +73,7 @@ static JSBool js_system_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) return(JS_TRUE); } -#define GLOBOBJ_FLAGS JSPROP_ENUMERATE|JSPROP_READONLY +#define GLOBOBJ_FLAGS JSPROP_ENUMERATE|JSPROP_READONLY|JSPROP_SHARED static struct JSPropertySpec js_global_properties[] = { /* name, tinyid, flags */ diff --git a/src/sbbs3/js_msg_area.c b/src/sbbs3/js_msg_area.c index 75f6483c180da55bd1f7c317129e7e43f1acece6..1c21e1c78814a7dec71fd9309ec5a6ab5979e100 100644 --- a/src/sbbs3/js_msg_area.c +++ b/src/sbbs3/js_msg_area.c @@ -293,9 +293,9 @@ static JSBool js_sub_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) static struct JSPropertySpec js_sub_properties[] = { /* name ,tinyid ,flags */ - { "scan_ptr" ,SUB_PROP_SCAN_PTR ,JSPROP_ENUMERATE }, - { "scan_cfg" ,SUB_PROP_SCAN_CFG ,JSPROP_ENUMERATE }, - { "lead_read" ,SUB_PROP_LAST_READ ,JSPROP_ENUMERATE }, + { "scan_ptr" ,SUB_PROP_SCAN_PTR ,JSPROP_ENUMERATE|JSPROP_SHARED }, + { "scan_cfg" ,SUB_PROP_SCAN_CFG ,JSPROP_ENUMERATE|JSPROP_SHARED }, + { "lead_read" ,SUB_PROP_LAST_READ ,JSPROP_ENUMERATE|JSPROP_SHARED }, {0} }; diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index faef5ab006f62b1ce6fc4be3e6e1e9627580ab49..c70aab0eae299c635530e072b2b555c6231954be 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -374,8 +374,8 @@ DLLCALL js_DefineSyncProperties(JSContext *cx, JSObject *obj, jsSyncPropertySpec return(JS_FALSE); for(i=0;props[i].name;i++) { - if(!JS_DefinePropertyWithTinyId(cx, obj, - props[i].name,props[i].tinyid, JSVAL_VOID, NULL, NULL, props[i].flags)) + if(!JS_DefinePropertyWithTinyId(cx, obj, /* Never reserve any "slots" for properties */ + props[i].name,props[i].tinyid, JSVAL_VOID, NULL, NULL, props[i].flags|JSPROP_SHARED)) return(JS_FALSE); if(props[i].flags&JSPROP_ENUMERATE) { /* No need to version invisible props */ val = INT_TO_JSVAL(props[i].ver); @@ -477,7 +477,7 @@ DLLCALL js_DefineSyncProperties(JSContext *cx, JSObject *obj, jsSyncPropertySpec for(i=0;props[i].name;i++) if(!JS_DefinePropertyWithTinyId(cx, obj, - props[i].name,props[i].tinyid, JSVAL_VOID, NULL, NULL, props[i].flags)) + props[i].name,props[i].tinyid, JSVAL_VOID, NULL, NULL, props[i].flags|JSPROP_SHARED)) return(JS_FALSE); return(JS_TRUE);