Commit Graph

427 Commits

Author SHA1 Message Date
CocosRobot d6e9d4420e cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-04-15 14:01:47 +08:00
James Chen 3f695d1934 Merge branch 'master' of https://github.com/SevInf/cocos2d-x into SevInf-master 2013-04-10 16:07:54 +08:00
CocosRobot 40c5280527 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-04-09 14:49:20 +08:00
James Chen a2c71f8e89 Exposing CCApplication to js. 2013-04-09 14:42:12 +08:00
James Chen 831dfb6ade Merge remote-tracking branch 'origin/iss1592-update-uthash' into iss1592-update-uthash 2013-04-08 11:56:10 +08:00
James Chen 2c3427dcee issue #1592: Fixing complication errors for windows port. 2013-04-08 11:56:04 +08:00
James Chen ea4603a057 issue #1592: Removing uthash.h in scripting/javascript/bindings. Using the version in cocos2d-x/cocos2dx/support/data_support/uthash.h. 2013-04-08 11:55:35 +08:00
James Chen ef731879f1 Merge pull request #2291 from dumganhar/iss1944-remove-associate-nativeobj
fixed #1944: The subclass of cc.Sprite,cc.Layer... doesn't need cc.associateWithNative anymore.
2013-04-06 20:20:33 -07:00
CocosRobot 3871129c1f cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-04-07 11:13:28 +08:00
Sergej Tatarincev 1510354568 Support variable cell sizes in CCTableView 2013-04-04 17:57:43 +03:00
CocosRobot 0338a3e504 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-04-04 00:08:15 +08:00
James Chen f1d48b41e2 issue #1944: Fixing a typo. 2013-04-03 10:39:40 +08:00
James Chen ad555e70fb issue #1944: Removing commented codes in cc.associateWithNative. 2013-04-03 10:39:15 +08:00
James Chen 6d6bc03465 Merge branch 'master' of https://github.com/cocos2d/cocos2d-x into iss1944-remove-associate-nativeobj 2013-04-03 10:27:01 +08:00
CocosRobot 1462c2a570 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-04-02 12:01:52 +08:00
James Chen ec7a2f4c5c fixed #1944: The subclass of cc.Sprite,cc.Layer... doesn't need cc.associateWithNative anymore. 2013-04-02 11:35:55 +08:00
CocosRobot 9f50cb71e2 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-29 17:02:38 +08:00
CocosRobot 7b37a9aaef cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-29 12:02:51 +08:00
James Chen 92d132ae19 Updating Android.mk to add OpenGL jsb support. 2013-03-29 11:43:25 +08:00
James Chen fd1b056d6a define JSB_INCLUDE_OPENGL in js_bindings_config.h 2013-03-29 11:41:32 +08:00
James Chen b7a86c601a fixing compilation errors for TestJavascript on windows. 2013-03-29 11:16:14 +08:00
James Chen 54edf8cafd Don't require 'jsb_opengl_constants.js' in 'jsb_opengl.js'. It will break js obscure 2013-03-28 16:58:02 +08:00
James Chen 771ffb4368 fixer #1936: Updating "obfuscate_exclude_cocos2d.js". 2013-03-28 16:53:35 +08:00
James Chen 65bcc6035e Fixing a type: "FiniteTimeAction" --> "GLNode". 2013-03-28 16:51:11 +08:00
Rohan Kuruvilla 1d89b137ed Adding new Javascript bindings for OpenGL to cocos2d-x. Modifying bindings generated in cocos2d-iphone 2013-03-27 23:59:29 -07:00
Rohan Kuruvilla 57fd3cdb9c Modifying JS files to load OpenGL bindings. Also modify AppDelegate and Project files and generator template 2013-03-27 23:59:29 -07:00
James Chen 0faeb5da5e Merge branch 'jsb_obfuscate' of https://github.com/walzer/cocos2d-x into walzer-jsb_obfuscate
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2013-03-22 14:12:38 +08:00
walzer 42c73fb820 Fixed #1841, obfuscated js source can run on iOS correctly now. 2013-03-22 12:06:04 +08:00
James Chen d80d68f7e0 fixed #1855: std_string_to_jsval generates messy js string when passing non-ascii UTF8 std::string. 2013-03-22 12:01:08 +08:00
walzer 6f41b7c4ea Merge branch 'master' of https://github.com/cocos2d/cocos2d-x into jsb_obfuscate 2013-03-21 17:37:28 +08:00
walzer 0a252aceaf update submodule scripting/javascript/bindings/generated to the same ref ptr as upstream/master branch. 2013-03-21 17:13:24 +08:00
walzer 67cda2bfd4 issue #1841, TestJavascript is obfuscated successfully 2013-03-21 16:55:55 +08:00
CocosRobot 5414a02c9f cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-20 18:36:26 +08:00
James Chen 4bf7f9bad4 Fix a crash in cc.Scheduler.unscheduleAll cpp binding codes. 2013-03-20 18:32:30 +08:00
CocosRobot e34d9b18e5 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-20 14:20:23 +08:00
James Chen a38fc50593 Fixing compilation errors for win32. 2013-03-19 19:51:07 +08:00
CocosRobot a115096bec cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-19 18:05:15 +08:00
walzer 0d73934f5c issue #1841, TestJavascript-ios is obfuscated successfully 2013-03-19 17:21:01 +08:00
CocosRobot afccad27e1 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-19 13:45:54 +08:00
James Chen 7b5e2351c3 Updating jsb_cocosbuilder.js. 2013-03-19 13:08:34 +08:00
James Chen 3380c7cdca fixed #1838: Updating iOS project setting for CocosDragonJS. 2013-03-19 13:05:06 +08:00
Rohan Kuruvilla e4efa88d00 Adding empty virtual definition to CCBScriptCallbackProxy to support CallFunc 2013-03-18 20:54:48 -07:00
Rohan Kuruvilla 5ca6648e47 Updating CCBReader JS bootstrap file 2013-03-18 16:06:48 -07:00
James Chen 6a98553633 Synchronizing the submodule reference of cocos2d-js-test to the latest one. 2013-03-18 18:24:37 +08:00
CocosRobot d098eb06aa cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-18 15:41:39 +08:00
James Chen f57a751a48 fixed #1837: Refactoring schedule binding codes.
* 1) We need bind cc.Node.scheduleUpdate and cc.Scheduler.scheduleUpdate manually since `schedules` need to be associated with _schedFunc_target_ht and _schedObj_target_ht
* 2) Bind cc.Scheduler.unscheduleCallbackForTarget.
2013-03-18 15:29:53 +08:00
James Chen 3aeb22292b Reverting ccarray_to_jsval. 2013-03-16 21:23:33 +08:00
James Chen 09757428e7 fixed #1836: JS target of "cc.Scheduler().scheduleCallbackForTarget" should not depend on CCNode or its subclass. 2013-03-16 21:14:39 +08:00
James Chen 529e65787a Fix the crash CrystalCraze, we should check whether the arr parameter is valid for ccarray_to_jsval. 2013-03-15 22:22:44 +08:00
CocosRobot da16e7d2ff cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-15 11:57:26 +08:00
James Chen 92d0e1c983 Uncommenting jsb_CCEditBox_prototype, updating the submodule of cxx-generator to the latest one. 2013-03-15 11:53:56 +08:00
CocosRobot 5ee810c535 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-15 11:35:51 +08:00
James Chen ae2f2e2f0e Temporarily comment `jsb_CCEditBox_prototype` to make jsb projects compiled ok, because the server of auto generating jsbinding has some issues now. 2013-03-14 23:23:52 +08:00
James Chen 911f607484 Tabs ~> 4 spaces 2013-03-14 20:38:52 +08:00
James Chen 293e17494d fixed #1830: Force casting `unsigned short*` to `jschar*` for `cc_utf8_to_utf16`. 2013-03-14 20:34:54 +08:00
James Chen 3e33868a63 fixed #1824: Exposed cc.EditBox to js. 2013-03-14 18:14:16 +08:00
CocosRobot 0b828a67c7 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-14 11:20:23 +08:00
James Chen a57cc21d7a Merge pull request #2156 from dumganhar/iss1830-jsb-utf8
fixed #1830: Using JS::CompileOptions::setUTF8(true) to compile script.
2013-03-13 19:59:25 -07:00
James Chen 29aa62d923 fixed #1830: Using JS::CompileOptions::setUTF8(true) to compile script. 2013-03-13 18:10:54 +08:00
CocosRobot 57b7a85dc8 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-13 12:05:05 +08:00
minggo 85f39cee24 Merge pull request #2114 from linshun/master
Added compatible function for multi secene resouces preloading.
2013-03-12 19:38:09 -07:00
CocosRobot bf31b7af26 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-13 00:03:13 +08:00
James Chen 3aaf5cabdb Updating cocos2dx.ini(adding CCScheduler to 'abstract_class' section) and adding ScriptingCore::getGlobalObject method. 2013-03-12 22:03:37 +08:00
CocosRobot ee768ba814 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-11 17:34:03 +08:00
James Chen c780f2ff78 Merge pull request #2137 from dumganhar/iss1748-jsb-chipmunk-sqlite
fixed #1748: Separating js extension from cocos2dx.hpp/cpp.
1) Generating jsb_cocos2dx_extension_auto.hpp/.cpp. It was separated from original cocos2dx.hpp/cpp. Developer could remove redundant jsbinding native codes now.
2) cocos2dx.hpp/cpp ~> jsb_cocos2dx_auto.hpp/cpp
3) Adding jsb_cocos2dx_extension_manual.hpp/cpp
2013-03-11 02:31:40 -07:00
James Chen 2a032bc6c9 fixed #1748: Updating win32 project setting. 2013-03-11 17:24:33 +08:00
James Chen 69b2b13325 fixed #1748: Generating jsb_cocos2dx_extension_auto.hpp/.cpp. It was separated from original `cocos2dx.hpp/cpp`.
Developer could remove redundant jsbinding codes now.
2013-03-11 16:39:28 +08:00
James Chen 6829f82893 Merge pull request #2107 from SevInf/patch-1
fixed #1823: Using shared NodeLoaderLibrary in CCBReader bindings.
2013-03-10 23:14:56 -07:00
CocosRobot 50f1ca7956 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-10 16:12:51 +08:00
CocosRobot 3b183c0517 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-10 14:03:20 +08:00
James Chen 1a42e85219 fixed #1808: Updated the submodule of cxx-generator and fixed some compilation errors after that. 2013-03-10 13:55:29 +08:00
James Chen a91d308070 fixed #1811: getStringWithContentsOfFile ~> getStringFromFile . 2013-03-08 16:50:16 +08:00
James Chen 91e3570ec4 fixed #1811: Fixing complication error on win32 after this pull request (https://github.com/cocos2d/cocos2d-x/pull/2119). 2013-03-08 15:15:08 +08:00
James Chen f7e60e290f fixed #1811: Adding a method to get file data for JSB. Updating the way of encoding cpp string to jsval or jsval to cpp string. 2013-03-08 14:34:59 +08:00
CocosRobot da5d1dcce8 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-07 16:04:48 +08:00
linshun d60ba89b36 Added compatible functions for HTML5 multi resources preloading. 2013-03-07 15:49:05 +08:00
Sergej Tatarincev 56ab904e0a Use shared NodeLoaderLibrary in CCBReader bindings 2013-03-06 14:09:01 +02:00
CocosRobot bc159f1ba7 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-01 16:30:34 +08:00
CocosRobot bee13bd7d5 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-01 11:04:33 +08:00
CocosRobot 86891fb15f cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-03-01 09:31:09 +08:00
CocosRobot dfc1cb8139 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-02-28 09:51:31 +08:00
James Chen 537abaec42 fixed #1753: Android works ok now. 2013-02-27 16:57:36 +08:00
James Chen 0d70e6f92f issue #1753: Win32 works ok. 2013-02-27 15:45:23 +08:00
James Chen 473e8e6139 issue #1753: Upgrading SpiderMonkey to Firefox19.0, iOS works ok. 2013-02-27 15:16:49 +08:00
James Chen 9c9e64283e fixed #1747: Crash occurs when passing null to cc.AnimationFrame.initWithSpriteFrame. 2013-02-25 14:20:38 +08:00
CocosRobot e3745b0078 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-02-22 12:12:11 +08:00
CocosRobot 397457aa68 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-02-22 10:54:39 +08:00
James Chen 486f7941a7 Merge pull request #2023 from nicolasgramlich/patch-7
fixed #1740: Added cleanup and reset methods to ScriptingCore.
2013-02-21 17:56:55 -08:00
Nicolas Gramlich 84aae750a9 Converted tabs to spaces since that seemed to be the predominant choice in this file. 2013-02-21 08:34:51 -08:00
Nicolas Gramlich b993c6fa08 Added cleanup and reset methods to ScriptingCore. 2013-02-21 08:33:37 -08:00
CocosRobot 06ad046c2f cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-02-21 10:24:44 +08:00
James Chen cf33a4538d fixed #1730: Binds CCScrollView and CCTableView to js. 2013-02-21 10:06:22 +08:00
CocosRobot ac0fa1251b cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-02-19 10:05:12 +08:00
Sergej Tatarincev 0b8713c80c Make ScriptingCore.cpp compile with C++11 on iOS
When compiling with clang -stdlib=libc++ -std=c++11, write, read, and close functions are part of the unistd.h header file.
2013-02-18 09:12:39 +02:00
James Chen 7a902b494c issue #1724: fixed errors for HelloJavascript of win32 port. 2013-02-18 14:51:36 +08:00
CocosRobot 9f9d69b14f cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-02-16 11:21:03 +08:00
minggo 3949f0c70f Merge pull request #1972 from theGoodEvil/fix_texparams_js
Use correct arg type for ccTexParams
2013-02-15 18:01:20 -08:00
Guido Lorenz 5f3a63e794 Use correct arg type for ccTexParams
In the JavaScript bindings, ccTexParams was initialized with (signed) GLint
values, even though it consists of (unsigned) GLuint values.
2013-02-11 11:09:35 +01:00
minggo 0c5bcb3f7b issue #1702:fix a typo error 2013-02-06 18:04:40 +08:00
minggo 744bfb3cb2 Merge pull request #1945 from dualface/add_CCLuaObjcBridge
add CCLuaObjcBridge
2013-02-03 19:32:17 -08:00
CocosRobot d3086850c7 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-02-03 14:55:53 +08:00
dualface 7839ceb45b add CCLuaObjcBridge 2013-02-02 02:05:52 +08:00
James Chen 2694cb150b CCFileUtils::s|gSearchPath -> CCFileUtils::s\gSearchPaths. 2013-01-29 09:56:38 +08:00
CocosRobot 3450e75789 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-01-28 19:43:29 +08:00
James Chen 119115502d issue #1683: Making some api of CCFileUtils more c++ friendly by using std::vector rather than CCArray. 2013-01-26 22:31:57 +08:00
CocosRobot fdda0fa285 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2013-01-25 22:40:36 +08:00
James Chen ef131beed1 Merge pull request #1885 from dumganhar/refactor-ccfileutils
issue #1683 :Refactoring CCFileUtils.TO BE DONE: 
Making the api of CCFileUtils more c++ friendly.
2013-01-25 05:55:10 -08:00
James Chen 6f3b22031f Using new API of getting full path for file name. 2013-01-25 20:51:52 +08:00
minggo 71defcba99 update JSB codes to latest 2013-01-25 18:24:39 +08:00
Rohan Kuruvilla 578b1c741e Fixing bug in resetting context that fails because of setting UTf8 string twice 2013-01-24 18:37:24 -08:00
James Chen a3dbfaafd3 Merge pull request #1856 from funkaster/master
fixed #1660: Some fixes to the js debugger.
2013-01-21 17:54:39 -08:00
James Chen 31e91e554e issue #1661: Added CrystalCraze for win32 and fix some compilation errors. 2013-01-17 17:07:18 +08:00
Rolando Abarca a265120f4c cc namespace 2013-01-16 14:07:51 -08:00
Rolando Abarca bc19f40239 Merge branch 'gles20' 2013-01-16 14:02:40 -08:00
Rolando Abarca 7ab43b9dfc adds missing runLoop for cc2dx (debug) 2013-01-16 14:02:05 -08:00
Rolando Abarca 49432ef742 removes old header file reference 2013-01-16 13:42:41 -08:00
James Chen 3a183d120b issue #1660: Disabled js debugger by default since lack of `js_bindings_dbg.h` file. 2013-01-16 14:35:19 +08:00
Rolando Abarca e94d8d1693 Merge branch 'gles20' of git://github.com/cocos2d/cocos2d-x into gles20
Conflicts:
	scripting/javascript/bindings/ScriptingCore.h
	scripting/javascript/bindings/js_bindings_config.h
2013-01-15 16:52:47 -08:00
James Chen a1854bdb58 Updated the submodule reference of cocos2d-js-tests. 2013-01-15 11:37:04 +08:00
James Chen 121519b7cd Merge pull request #1831 from dumganhar/iss1653-jsb-int
fixed #1653: Handling correctly when parsing int value in JSB.
2013-01-14 17:49:57 -08:00
Rolando Abarca 320068930e more debug stuff 2013-01-11 14:29:40 -08:00
Rolando Abarca 5df4b4d997 adding debug support for js 2013-01-11 14:01:36 -08:00
johnangel a1155f52e6 Merge remote branch 'upstream/gles20' into gles20 2013-01-11 21:48:47 +01:00
James Chen 800e65b6fc fixed #1653: Using JSB_PRECONDITION2 to check return value in js_bindings_ccbreader.cpp and js_bindings_chipmunk_manual.cpp. 2013-01-11 22:00:42 +08:00
James Chen d15561e826 issue #1653: Checking the return value of jsapi. Return JSVAL_VOID if jsapi has no return value. 2013-01-11 18:57:33 +08:00
James Chen 7f4146f3e2 issue #1653: JS_ValueToInt32, JS_ValueToECMAInt32 --> jsval_to_int32
Using JSB_PRECONDITION2 to check the return value of js api.
Reporting an error when binding api return JS_FALSE.
2013-01-11 17:44:39 +08:00
James Chen a8361bf703 issue #1653: Checking return value for 'native --> jsval'. 2013-01-11 13:54:57 +08:00
johnangel 16269d952d Detect VS2012 Update 1 2013-01-10 11:55:30 +01:00
johnangel 674bb8e728 Setting PlatformToolSet to v110_xp instead of default v110 in Visual Studio 2012 for Windows XP support, leaving default v100 in Visual Studio 2010. 2013-01-07 11:51:05 +01:00
James Chen b662d5c569 fixed #1620: Added license. Removed LocalStorage.h from cocos-ext.h. 2013-01-07 18:06:53 +08:00
James Chen 1d59a36ee9 fixed #1620: Invoking localStorageFree in the destructor of ScriptingCore. Added header file to cocos-ext.h 2013-01-07 17:34:22 +08:00
James Chen 1882ca30f5 issue #1620: Binding sqlite3 to sys.localStorage. And updated win32 project configuration. 2013-01-06 14:42:24 +08:00
James Chen 8a21f4fa3c issue #1640: Added some files to iOS Project. 2013-01-05 17:41:19 +08:00
James Chen 421cf31b34 issue #1640: Updated jsbinding for CCPhysicsSprite . 2013-01-05 15:09:19 +08:00
James Chen 4bd15af2a2 issue #1640: Updated js files for jsbindings 2013-01-05 13:58:56 +08:00
James Chen 9bd302e35b fixed #1627: VS version check in project file. 2012-12-29 13:54:46 +08:00
minggo 0adc6abe30 Merge pull request #1776 from dualface/make_ccassert_compatible_lua
[luabinding] make CCAssert compatible Lua
2012-12-26 23:28:32 -08:00
CocosRobot 38e5b67cb5 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2012-12-27 13:43:19 +08:00
James Chen 7d9f06b48c fixed #1625: Updated TestCpp. 'ccg' --> 'CCSizeMake' . And exchanged the parameter order for 3D action tests. 2012-12-27 10:55:25 +08:00
dualface 09b1d9f520 Merge branch 'gles20' of git://github.com/cocos2d/cocos2d-x into make_ccassert_compatible_lua 2012-12-26 18:37:51 +08:00
dualface 57bccc7e4a remove CC_LUA_ENGINE_ENABLED macro 2012-12-26 18:33:55 +08:00
James Chen a6ded65f59 Added COCOS2D_DEBUG=1 for libJSBinding.vcxproj of debug mode. 2012-12-25 11:33:36 +08:00
James Chen bdb4df293b Merge branch 'gles20' of https://github.com/cocos2d/cocos2d-x into iss1602-jsb-sys 2012-12-25 10:01:48 +08:00
CocosRobot 3de95c9362 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2012-12-25 09:54:52 +08:00
James Chen cc7d383737 fixed #1622: Crash occurs when cc.Node.getChildren is invoked if there are no children. 2012-12-24 11:55:04 +08:00
James Chen 22a2b34637 issue #1620: Made sys.localStorage support for jsb, works ok on android. 2012-12-24 11:46:27 +08:00
James Chen f26ce4fb84 Made sys.localStorage support for jsb, works ok on win32. 2012-12-21 18:07:45 +08:00
James Chen 9a0a5e6b31 issue #1603: fixed some warnings. 2012-12-20 17:18:49 +08:00
James Chen 1562658bd8 issue #1603: Added libJSBinding project for win32 platform. 2012-12-20 17:18:02 +08:00
James Chen e8c0844dd5 fixed #1617: Some improvements for JS Bindings.
1) Changed cc.REPEAT_FOREVER = - 1 to cc.REPEAT_FOREVER = 0xffffffff
[Reason]: If cc.REPEAT_FOREVER = -1, it will be a very big double value after converting it to double by JS_ValueToNumber on android.
Then cast it to unsigned int, the value will be 0. The schedule will not be able to work.
I don't know why this occurs only on android.
[Solution]: Instead of passing -1 to it, I assign it with max value of unsigned int in c++.

2) Added two helper function, cc.ArrayGetIndexOfObject and cc.ArrayContainsObject.

3) Added JSScheduleWrapper::removeTargetForNativeNode to avoid memory leaks.

4) Improvments for JSTouchDelegate. Added four functions as follows:
// Set the touch delegate to map by using the key (pJSObj).
static void setDelegateForJSObject(JSObject* pJSObj, JSTouchDelegate* pDelegate);

// Get the touch delegate by the key (pJSObj).
static JSTouchDelegate* getDelegateForJSObject(JSObject* pJSObj);

// Remove the delegate by the key (pJSObj).
static void removeDelegateForJSObject(JSObject* pJSObj);

void unregisterTouchDelegate();
And exported cc.unregisterTouchDelegate(); to js.
Fix a memory leak for JSTouchDelegate by making it as an autorelease object.

5) Don't add js callback function to the reserved slot of object.
[Reason]: The target object may execute more than one schedule.
Therefore, previous js callback function will be replaced
by the current one. For example:

this.scheduleOnce(function() { temporary function 1 }, 0.5);
this.scheduleOnce(function() { temporary function 2 }, 0.5);

In this case, the temporary function 1 will be removed from reserved slot 0.
And temporary function 2 will be set to reserved slot 0 of this object.
If gc is triggered before the JSScheduleWrapper::scheduleFunc is invoked,
crash will happen. You could simply reproduce it by adding jsc.garbageCollect(); after scheduleOnce.
[Solution] Because one schedule corresponds to one JSScheduleWrapper, we root
the js callback function in JSScheduleWrapper::setJSCallbackFunc and unroot it
at the destructor of JSScheduleWrapper.
2012-12-18 11:56:44 +08:00