Commit Graph

111 Commits

Author SHA1 Message Date
James Chen b2ecbca549 fix JSB Memory leaks and crashes (#18577)
* [game] Uses global compartment.

* fixed cocostudio bug.

* Fixes Memory leak for JSB.

* Memory leak in ActionsTest.js

* js_callfunc binding check whether jsThis is valid.

* Fixes potential crash in DownloadDelegator .

* CCLOG -> CCLOGINFO for garbage collect callback.

* jsb_c_proxy_s is a struct which contains a JS::Heap<> cpp object. Need to use `new`/`delete` to manage its memory.

* The functionality of JS controls C++ object's lifecycle isn't stable enough, please don't enable it now. Make an error if user enables it.

* Compilation error fixes.

* Removes unused JSAutoCompartment since we use JS_EnterCompartment/JS_LeaveCompartment now.
2018-01-10 14:39:45 +08:00
David DeSimone 2f3a7df55a Fixing serious XMLHTTP leak when CC_ENABLE_GC_FOR_NATIVE_OBJECTS enabled (#17844)
* Fixing issue where XMLHttpRequests would not have their destructor fire if CC_ENABLE_GC_FOR_NATIVE_OBJECTS was set. This was due to mismanagement of JSHeap object tracing.

* Removing unused variables in js_add_object_root.
2017-05-22 13:40:07 +08:00
pandamicro 75383bdcde Jsb improvements (#17513)
* Cleanup ScriptingCore code

* Add jsb.ENABLE_GC_FOR_NATIVE_OBJECTS to indicate the memory model

* Use incremental GC

* Improve ScriptingCore::executeFunctionWithOwner performance

* Support ScriptingCore::executeGlobalFunction

* Reuse js objects for get_or_create_weak_jsobject reduce memory usage

* Fix sequence / spawn js object lost issue

* Improve wrappers with cppOwner system
2017-03-16 09:42:16 +08:00
pandamicro 0eec73ba43 Bindings fix and assets manger ex fix (#17115)
* Fix custom event being discard during event emission

* Fix tilemap black line issue

* Fix auto bindings config

* Adapt websocket to new memory model

* Improve cocos2d_specifics code stability

* Fix issue with get_or_create_js_object function

* Improve memory usage in function wrapper invocation

* Use JS Function bind to avoid memory tracking issues

* Support size parameter to collect total byte size before update process

* Fix download resuming issue on Android

* Remove temporary assets when temporary manifest is invalid or out of date

* Use version compare handle to compare manifests versions

* Support max concurrent tasks setting & download verify callback

* Add Manifest::Asset conversion

* Avoid crash caused by wrappers

* Sync implementation of tested and published AssetsManagerEx from Cocos Creator

* Fix linux compilation issues
2017-03-15 16:09:02 +08:00
CocosRobot d07794052f Update license to 2017 (#17362)
* Typo: CopyRight -> Copyright

* Copyright update: chukong-inc.com -> Chukong Technologies Inc.

* [js files] Copyright update: 2014 -> 2014-2017

* [cpp files] Copyright update: 2014 -> 2014-2017

* Copyright update: 2015 -> 2015-2017

* [js files] Copyright update: 2014 -> 2014-2017

* Copyright update: 2016 -> 2016-2017

* Copyright update: 2013 -> 2013-2017

* Copyright update: 201?-201? -> 201?-2017

* License year fixes.

* Liscene year fix in CCRay.cpp

* Updates license years in CCGLProgramState.h & CCGLProgramStateCache.h
2017-02-14 14:36:57 +08:00
pandamicro 88be66218b Small fix to CallbackWrapper 2016-12-26 00:08:59 +08:00
pandamicro 100c027054 Fix chipmunk crash issues when using setDefaultCollisionHandler 2016-12-21 11:07:18 +08:00
pandamicro a508b7d751 Fix crash during Wrappers deallocation (possible to have leak) 2016-12-19 11:51:23 +08:00
pandamicro 2b6e84e9a2 Separate FinalizeHook for ref objects and non ref objects 2016-12-19 11:50:32 +08:00
pandamicro a73485a1bc Use %ld instead of %zd 2016-12-13 18:12:50 +08:00
pandamicro bedde74df5 Fix compilation issue when COCOS_DEBUG = 2 2016-12-13 14:29:25 +08:00
pandamicro 00b57c9565 Manual bind EventListeners’ create to avoid memory issue 2016-12-13 14:29:24 +08:00
pandamicro 3d6b1367cd Manually bind EventDispatcher::addCustomEventListener to avoid memory issue 2016-12-13 14:29:24 +08:00
pandamicro 197dac204b Fix function wrapper using js object during its gc 2016-12-13 14:29:23 +08:00
pyrosphere 663bb4d7ed No CC_UNUSED_PARAM (#16812)
* Added -Wno-unused-parameter and removed all uses of the CC_UNUSED_PARAM macro

* Commented unused parameter names in .cpp files which previously used CC_UNUSED_PARAM

* Reverted -Wno-unused-param flag.
Moved deprecated touch methods definitions to .cpp file.
Commented more unused parameter names.

* Fixed some errors and warnings caused by the previous commit.

* Commented remaining unused parameter names in .cpp files.

* Fixed unused parameter warnings in headers.

* Fixed some more unused parameter warnings.

* Fixed some more unused parameters warnings.

* Fixed mistake in previous commit, missing ComAudioReader:: in method. Other warnings.

* Fixed build errors.

* Added missing file to CMakeLists
2016-11-16 09:48:37 +08:00
pandamicro e4170a7b02 Improve JS bindings (#16751)
* Fix tests for v3.12 web

* Improve scheduler wrapper

* Update web engine ref

* Fix leak: js_remove_object_reference can not remove non binding objects

* Fix ScriptingCore::evalString

* Add missed `__cppCreated` for JS create objects

* Fix manifest path issue
2016-10-28 09:29:56 +08:00
Ricardo Quesada 323ea7c0d4 Sprite scale9 (#16702)
* Adds slice9 support for Sprite.

how to use it:

// points coords
sprite->setCenterRect(Rect(x,y,w,h));

// normalized coords
sprite->setCenterRectNormalized(Rect(x,y,w,h));
starts scale9sprite in sprite

more slice 9 changes

sprite 9 slice works?

kind of works

correct anchor point

slice 9 works, at least with non-rotated atlases

streched works ok

better Y invert code.

cleaner, compatible with the previous code

yay, scaling workings...

need a better api now

sets scale correctly

yay! works as expected!

more fixes and tests

better test for box

setContentSize() changes size in non-9-slice mode sprites as well

setCenterRect() -> setCenterRectNormalized()

yet another test

adds setPositionNormalized()

adds setCenterRect() tests

remove devel team from xcode

tests: add one more tests

fun test!

improved test

yet another test for slice 9

* fixes anchorPoint issues

* adds documentation

* fix: using top-left coordinate for setRect

* sprite: fixes related to scale9 and tiled

* Sprite: slice 9 fixes

works Ok with rotated frames
uses `setCapInsets` instead of `setCenterRect` to be more familiar
with `UIScale9Sprite`

* fixes js and lua bindings for Autopolygon
2016-10-26 18:45:40 -07:00
mogemimi 8b703a8d12 Fix implicit conversion warning (#16598)
* Fix implicit conversion warning

* Change SAXParser::textHandler parameter type from int to size_t
2016-09-26 14:49:47 +08:00
pandamicro 466053b740 Fix JS AssetsManagerTest and Improve scheduler wrapper (#16605)
* Fix tests for v3.12 web

* Improve scheduler wrapper

* Update web engine ref
2016-09-26 14:44:32 +08:00
minggo 04fd2b16b2 merge v3.13 back to v3 2016-08-29 11:57:13 +08:00
pandamicro f0be4f3069 Merge part of Cocos2d-x-lite (#16380)
* Update js auto binding settings with new ndk version

* Remove unnecessary property from Ref

* Merge part of Cocos2d-x-lite :
1. Improve network bindings
2. Use nullptr instead of NULL
3. Remove usage of some deprecated APIs
4. Add some defensive code and cleanup

* Fix spine track entry circle referencing issue

* cocos2d/cocos2d-x#16327: Fix global object leak issue in JSB

* Improve ScriptingCore::evalString, old implementation have been deprecated in Spidermonkey

* Update JS versions

* Add docs for web v3.13

* Improve ScriptingCore

* Manual merge cocos2d/cocos2d-x#16383 by DavidDeSimone

* Fix auto bindings configurations

* Update web ref
2016-08-19 16:28:47 +08:00
James Chen b135d512d2 Update copyright to 2016. (#16311) 2016-08-05 09:42:15 +08:00
pandamicro d02bdda781 Fix callfunc released with retained data (callback, target, extradata) issue 2016-07-01 10:56:17 +08:00
minggo cf80eb18b1 Merge pull request #15777 from pandamicro/v3
Fix scheduler callback target lost issue
2016-06-03 14:05:32 +08:00
pandamicro 3597ce7c43 Fix scheduler callback target lost issue 2016-06-03 11:01:06 +08:00
minggo c7c67144b7 Merge pull request #15769 from pandamicro/v3
Fix scheduler callback target lost issue
2016-06-03 09:29:01 +08:00
pandamicro d1e9a149c4 Fix scheduler callback target lost issue 2016-06-02 16:02:29 +08:00
minggo 3810854c45 use std::isnan instead of isnan to fix compiling errors 2016-05-30 18:19:10 +08:00
Xpol Wan 1cc0130bdd Fixes signed/unsigned mismatch warnings.
```
2d\CCFontFNT.cpp(328): warning C4018: '<' : signed/unsigned mismatch
2d\CCLabel.cpp(782): warning C4018: '>' : signed/unsigned mismatch
2d\CCLabel.cpp(784): warning C4018: '<' : signed/unsigned mismatch
scripting\js-bindings\manual\cocos2d_specifics.cpp(2741): warning C4018: '<' : signed/unsigned mismatch
tests\cpp-tests\Classes\Sprite3DTest\Sprite3DTest.cpp(1969): warning C4018: '>=' : signed/unsigned mismatch
tests\cpp-tests\Classes\TextInputTest\TextInputTest.cpp(264): warning C4018: '>=' : signed/unsigned mismatch
ui\UIEditBox\UIEditBoxImpl-common.cpp(113): warning C4018: '<' : signed/unsigned mismatch
ui\UIRichText.cpp(1573): warning C4018: '<=' : signed/unsigned mismatch
ui\UITextField.cpp(89): warning C4018: '>=' : signed/unsigned mismatch
```
2016-04-26 17:53:25 +08:00
minggo fcd8aa30f4 Merge pull request #14312 from TimothyZhang/jsb-getDataFromFile-should-return-null-if-read-failed
return null if read failed in js_cocos2dx_CCFileUtils_getDataFromFile
2016-04-21 14:17:44 +08:00
xpol 1e70fb5eb5 Remove include of cocos2d.h (#15435) 2016-04-18 15:09:21 +08:00
pandamicro f18763033d Merge pull request #15390 from pandamicro/v3
Fix a issue in cc.CallFunc JSB implementation
2016-04-08 09:54:13 +08:00
pandamicro f1108bfbe3 Fix a issue in cc.CallFunc JSB implementation 2016-04-07 23:49:57 +08:00
pandamicro e6d4beef8a Merge pull request #15388 from pandamicro/v3
Issue fixes and update engine version
2016-04-07 23:15:39 +08:00
pandamicro 1ada222c36 Fix some issues
1. Action extendable in JSB
2. Fix cc.CallFunc callback parameter issue
3. Fix arrivalOrder property of Node
4. Upgrade trick for QQ browser <6.2
2016-04-07 22:40:32 +08:00
Ricardo Quesada ae369c1b68 fix: compile in Windows
Github issue #15372
2016-04-06 10:26:46 -07:00
Xpol Wan 90456d29ba Fixes 1605 include path in 541 files
using the tools/coding-style/include-linter.py with -f options.
2016-03-20 21:53:44 +08:00
zilongshanren 589d7e47bf fix polygon api typo 2016-03-17 17:16:56 +08:00
zilongshanren a1b4cd845f Revert "Fix incorrect function name of getTrianglesCount" 2016-03-17 16:38:17 +08:00
mogemimi 2f75effe96 Add backwards compatibility for 'getTriaglesCount' 2016-03-17 14:22:09 +09:00
mogemimi 23a05ddab2 Fix incorrect function name of getTrianglesCount 2016-03-15 07:39:42 +09:00
dongtao.han 34b1c1bc18 exported js_get_type_from_native for cocos2d::Node type. 2016-02-25 09:47:19 +08:00
pandamicro 6e7c9ab8db Cleanup log 2016-02-15 17:19:37 +08:00
pandamicro 94c62bed53 Remove ScriptingCore::retainCount 2016-02-15 16:32:00 +08:00
pandamicro cb4d24e1ee Merge pull request #14759 from pandamicro/hbmemory
Implement Full GC Relied memory model
2016-02-14 14:48:01 +08:00
pandamicro c03d2c57d7 Made console.log writable 2016-02-05 15:13:07 +08:00
Wenhai Lin 4992037c5c Avoid creating temporary string objects 2016-02-03 23:12:37 +08:00
pandamicro 01f41921d1 Fix enableDebugger issue 2016-01-28 01:55:10 +08:00
pandamicro 554523a201 Use JS::Heap instead of Mozilla::maybe to improve stability 2016-01-28 01:03:13 +08:00
pandamicro d6cedb88ec Remove JS::Persistent and move js object reference into JS scope 2016-01-24 19:47:26 +08:00