Spine js绑定 打击点回调 崩溃

只要是js绑定就有这个问题,我试了几个版本,都不行。
崩溃代码如下
jsval spevent_to_jsval(JSContext* cx, spEvent& v)
{
JSObject *tmp = JS_NewObject(cx, NULL, NULL, NULL); //此处崩溃
if (!tmp) return JSVAL_NULL;

bool ok = JS_DefineProperty(cx, tmp, "data", speventdata_to_jsval(cx, *v.data), NULL, NULL, JSPROP_ENUMERATE | JSPROP_PERMANENT) &&
JS_DefineProperty(cx, tmp, "intValue", INT_TO_JSVAL(v.intValue), NULL, NULL, JSPROP_ENUMERATE | JSPROP_PERMANENT) &&
JS_DefineProperty(cx, tmp, "floatValue", DOUBLE_TO_JSVAL(v.floatValue), NULL, NULL, JSPROP_ENUMERATE | JSPROP_PERMANENT) &&
JS_DefineProperty(cx, tmp, "stringValue", c_string_to_jsval(cx, v.stringValue), NULL, NULL, JSPROP_ENUMERATE | JSPROP_PERMANENT);

if (ok)
{
    return OBJECT_TO_JSVAL(tmp);
}

return JSVAL_NULL;

}

读spine文件的地方,也没有考虑spine新旧格式适配,需要自己做微调。
我把我用的spine文件也上传了。
0.rar (64 KB)

下面是读取代码的微调,我的spine导出来的atlas多了一行。

spAtlas* spAtlas_readAtlas (const char* begin, int length, const char* dir) {
int count;
const char* end = begin + length;
size_t dirLength = strlen(dir);
int needsSlash = dirLength > 0 && dir != ‘/’ && dir != ‘\’;

spAtlas* self = NEW(spAtlas);

spAtlasPage *page = 0;
spAtlasPage *lastPage = 0;
spAtlasRegion *lastRegion = 0;
Str str;
Str tuple;
readLine(begin, 0, 0);
while (readLine(0, end, &str)) {
    if (str.end - str.begin == 0) {
        page = 0;
    } else if (!page) {
        char* name = mallocString(&str);
        char* path = MALLOC(char, dirLength + needsSlash + strlen(name) + 1);
        memcpy(path, dir, dirLength);
        if (needsSlash) path = '/';
        strcpy(path + dirLength + needsSlash, name);

        page = spAtlasPage_create(name);
        FREE(name);
        if (lastPage)
            lastPage->next = page;
        else
            self->pages = page;
        lastPage = page;
        
        readLine(0, end, &str);     //ykg,把多余的一行干掉

用的是cocos2d-js-v3.0-alpha2