diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2013-06-03 11:07:32 +0100 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2013-06-03 11:10:46 +0100 |
commit | 6397fedb2b221aab93d697ed9fc0530dd1415233 (patch) | |
tree | 7552618594faddf88cead1b7abbb2b6d7922765f /javascript/jsapi.h | |
parent | ae6058c15c4dbf1c067fac45cd092afeefa68a53 (diff) | |
download | netsurf-6397fedb2b221aab93d697ed9fc0530dd1415233.tar.gz netsurf-6397fedb2b221aab93d697ed9fc0530dd1415233.tar.bz2 |
Turns out there are still two different compiles of the 1.8.5 API about
Diffstat (limited to 'javascript/jsapi.h')
-rw-r--r-- | javascript/jsapi.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/javascript/jsapi.h b/javascript/jsapi.h index d8dcb360f..5b544b8fd 100644 --- a/javascript/jsapi.h +++ b/javascript/jsapi.h @@ -23,7 +23,7 @@ #ifndef _NETSURF_JAVASCRIPT_JSAPI_H_ #define _NETSURF_JAVASCRIPT_JSAPI_H_ -/* include teh correct header */ +/* include the correct header */ #ifdef WITH_MOZJS #include "js/jsapi.h" #else @@ -155,8 +155,10 @@ JS_NewCompartmentAndGlobalObject(JSContext *cx, #define JSAPI_GCMARK(thing) JS_MarkGCThing(cx, thing, "object", arg) -/* Macros for manipulating GC root */ +#define JSAPI_MARKOP_RETURN(value) return value + +/* Macros for manipulating GC root */ #define JSAPI_ADD_OBJECT_ROOT(cx, obj) JS_AddRoot(cx, obj) #define JSAPI_REMOVE_OBJECT_ROOT(cx, obj) JS_RemoveRoot(cx, obj) @@ -270,6 +272,8 @@ JS_NewCompartmentAndGlobalObject(JSContext *cx, #define JSAPI_GCMARK(thing) JS_CallTracer(trc, thing, JSTRACE_OBJECT); +#define JSAPI_MARKOP_RETURN(value) return value + /* Macros for manipulating GC root */ #define JSAPI_ADD_OBJECT_ROOT(cx, obj) JS_AddRoot(cx, obj) #define JSAPI_REMOVE_OBJECT_ROOT(cx, obj) JS_RemoveRoot(cx, obj) @@ -359,18 +363,23 @@ JS_NewCompartmentAndGlobalObject(JSContext *cx, #define JSAPI_CLASS_NO_INTERNAL_MEMBERS JSCLASS_NO_INTERNAL_MEMBERS /* GC marking */ - -/* mark API is always JSTraceOp now */ +#ifdef JSCLASS_MARK_IS_TRACE +/* mark function pointer requires casting */ +#define JSAPI_JSCLASS_MARK_IS_TRACE JSCLASS_MARK_IS_TRACE +#define JSAPI_JSCLASS_MARKOP(x) ((JSMarkOp)x) +#else +/* mark function pointer does not require casting */ #define JSAPI_JSCLASS_MARK_IS_TRACE 0 #define JSAPI_JSCLASS_MARKOP(x) (x) +#endif #define JSAPI_MARKOP(name) void name(JSTracer *trc, JSObject *obj) #define JSAPI_MARKCX trc->context -#define JSAPI_GCMARK(thing) JS_CallTracer(trc, JSVAL_TO_TRACEABLE(OBJECT_TO_JSVAL(thing)), JSTRACE_OBJECT); - +#define JSAPI_GCMARK(thing) JS_CallTracer(trc, thing, JSTRACE_OBJECT); +#define JSAPI_MARKOP_RETURN(value) /* Macros for manipulating GC root */ |