Commit Graph

20 Commits

Author SHA1 Message Date
Ricardo Quesada be64dd97cf replaces `delete[]` with `free()` in C-based API
API that returns a newly allocated buffer as an output argument (not return value) are error-prone.

- Users forget to release the newly allocated buffer
- Or the call `delete` instead of `delete[]`

But some of those API need to call `realloc` on the buffer.
But `realloc` is only valid if the buffer was previously allocated with `malloc`.
If a buffer needs to be re-allocated using a C++ API, then `std::vector<char*>` should be used instead...

So, this patch does:

- Migrates the API from  `new []` / `delete[]` to  `malloc()` / `free()`
- Fixes all the memory issues: incorrect deallocs and memory leaks
- Updates the documentation
- And fixes misc issues with the API: removes `cc` from the ZipUtils class.
2013-11-11 18:09:47 -08:00
James Chen 20b350a58b Removing cocosjs_manual_conversions.h(.cpp). Put all jsval <-> native value conversion codes to js_manual_conversions.h(.cpp). 2013-11-11 16:45:44 +08:00
James Chen ff3bfbe8a2 Using std::unordered_map instead of UTHASH for js_type_class_t.
Since xxx.hash_code() return size_t which is 8bytes on 64bit system, we should not use HASH_ADD_INT and HASH_FIND_INT for js_type_class_t.
2013-11-11 14:36:43 +08:00
James Chen 5a0df8d2e8 VS2012 doesn’t support invoke another constructor method in current constructor. 2013-11-11 14:36:43 +08:00
James Chen fe88f7c941 Fixing memory leak of JSStringWrapper::set . 2013-11-11 14:36:43 +08:00
James Chen 9d5813b7d9 Some fixes:
1) Moving the implementation of JSStringWrapper to .cpp file. Removing override operator() which will be easy to make errors.
2) Deleting JSCallFuncWrapper since it isn’t needed after using std::function for MenuItem’s Callback.
3) Fixing ChipmunkTest crash sometimes on MAC platform(64bit).
2013-11-11 14:36:42 +08:00
James Chen 0c4b6e7a37 Removing JSB Version since JSB source codes will be updated with cocos2d-x.
Also, remove some unused codes.
2013-11-11 10:40:51 +08:00
James Chen 9d3716e964 Merge pull request #4109 from HoGarfield/JS_Call
Missing add "JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET " before calling JS_CallFunctionValue
2013-11-05 23:56:03 -08:00
garfield_ho f36fd002cd Remove duplicate 2013-11-06 15:40:23 +08:00
garfield_ho f6070406cd Missing add "JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET " before calling JS_CallFunctionValue 2013-11-06 15:31:58 +08:00
Ricardo Quesada 84a6aa29cd Adds more 64-bit fixes
Replaces more `int` with `long` where it makes sense.

Also , it repalces some `unsigned long` with `long` for "lenght"
values as described in our c++ guideline
2013-11-05 17:36:44 -08:00
James Chen baccf828f3 closed #2826: Removing js::IsInRequest in ScriptingCore.cpp for win32. 2013-11-01 10:45:01 +08:00
James Chen 8884c58ac1 issue #2826: Updating ScriptingCore.cpp. runScript small fix. 2013-10-31 21:03:06 +08:00
James Chen f478e2d2a5 issue #2826: Bug fixes for win32. 2013-10-31 15:15:52 +08:00
James Chen 6f978c5cbd issue #2826: Bug fixes after using Spidermonkey v25. Adding JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET macro. 2013-10-31 15:13:49 +08:00
James Chen 0f7a99f898 [sp v25] Don't use 'using namespace std;' to make android build happy. 2013-10-31 11:15:18 +08:00
James Chen 3b86d6398f [sp v25] Fixing complication errors after updating Spidermonkey to v25. 2013-10-31 11:15:17 +08:00
minggo 8f9756f030 issue #2905:TestJavascript build ok on Android 2013-10-17 11:28:57 +08:00
minggo ad6325b0dd fix conflicts 2013-10-12 11:31:32 +08:00
minggo 4313c46e93 issue #2905:adjust folder structure 2013-10-12 11:22:05 +08:00