Instead of using std::unordered_map<long, T>(long is the hash_code generated by typeid(T).hash_code()),
We needs to use std::unordered_map<std::string, T> to avoid collision since unordered_map internally processes collisions.
* develop: (105 commits)
update armature to new render
iOS & Mac project fix.
[AUTO] : updating submodule reference to latest autogenerated bindings
use size_t replace unsigned int for record redeque::size returned value.
issue #2171: Updates CMakeLists.txt.
issue #2171: Binds New renderer classes, ignores NewTextureAtlas.
issue #2171: Adds header files of renderer in cocos2d.h.
issue #2171: Reorder renderer files for iOS & mac project.
issue #2171: small fix in ccTypes.h
issue #2171: Don’t ‘using namespace std;’ in header file.
[AUTO] : updating submodule reference to latest autogenerated bindings
issue #2171: Ignores Director::getFrustum.
issue #2171: Fixing compilation errors for Linux port.
issue #2171: NULL —> nullptr for Android warning of CCBAnimationManager.cpp.
issue #2171: [New Renderer] Fixing compilation errors for Android.
[Win32] fix argument type. - argument of interface is ssize_t.
Update AUTHORS [ci skip]
Update CHANGELOG [ci skip]
Add mouse scrolling support for extension test
issue #3341:fix Incorrect at TextureCache::addImageAsync for repeatedly execute for the same image
...
Conflicts:
cocos/2d/CCNode.cpp
cocos/2d/cocos2d.vcxproj.filters
samples/Cpp/TestCpp/Classes/ExtensionsTest/CocoStudioArmatureTest/ArmatureScene.cpp
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.
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).
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