Retaining cc.Touch

I’m trying to store cc.Touch in an array but they aren’t being retained. It looks like cc.Touch doesn’t subclass cc.node so I can’t use .retain().

How can I retain a touch?

You can add the following code in register_cocos2dx_js_extensions function to make touch support retain/release:

void register_cocos2dx_js_extensions(JSContext* cx, JSObject* global)
{
//...
    JS_DefineFunction(cx, jsb_cocos2d_Touch_prototype, "retain", js_cocos2dx_retain, 0, JSPROP_ENUMERATE | JSPROP_PERMANENT);
	JS_DefineFunction(cx, jsb_cocos2d_Touch_prototype, "release", js_cocos2dx_release, 0, JSPROP_ENUMERATE | JSPROP_PERMANENT);
//...
}