Commit Graph

18591 Commits

Author SHA1 Message Date
Darragh Coy 0ee1095e37 Fix crashes in event dispatch other related safety checks/fixes
1: Add a fix to prevent events from being sent to scene nodes which are destroyed. Previously when a node was being destroyed it would try to unregister any event listeners it would have. This process would fail however in the case where event dispatching was already underway because we can't modify the listeners list while we are iterating through it. This is a pretty common occurrence since we often tear down & switch scenes in response to button clicks etc. Fix the problem by nulling out the slot for the listener we are removing in this case, so that it's node no longer receives any events after it is destroyed. The event dispatching code will cleanup this unused/nulled slot once the event processing loop has terminated.

2: When removing an event listener in cocos2d::EventDispatcher, ensure immediately it gets removed from the node priority map and dirty nodes set in order to ensure we don't inadvertently access any dangling pointers to nodes.

3: Add debug checks to ensure nodes have no associated event listeners after they are destroyed. This check will catch the problem fixed by (1) if it is still present.

4: Add some extra debug sanity checks in the event dispatcher to ensure nodes are not added to the lists twice and that they are being properly removed from the lists under certain conditions.

5: In cocos2d::Node's destructor NULL out members after releasing them in case they somehow happen to be accessed during the destructor. Move the release of the event dispatcher to the very end, since we need to check against it in debug.
2014-03-26 13:12:44 -07:00
Dhilan007 93511a878b Remove the old implementation of LabelTTF in test case. 2014-03-26 23:33:58 +08:00
James Chen 5ba2cbb5a0 Update AUTHORS [ci skip] 2014-03-26 20:15:13 +08:00
James Chen 2c616fc9da Merge pull request #6005 from flashjay/develop
remove deprecated code in lua tests & template
2014-03-26 20:12:10 +08:00
James Chen 57b298a57a Merge pull request #6006 from CocosRobot/update_lua_bindings_1395835692
[AUTO]: updating luabinding automatically
2014-03-26 20:10:43 +08:00
CocosRobot 8efb9ad4e0 [AUTO]: updating luabinding automatically 2014-03-26 12:09:41 +00:00
James Chen 049e758cbf Merge pull request #6004 from dumganhar/develop
Fixed  <alloca.h> wasn't exist on Windows
2014-03-26 20:04:19 +08:00
James Chen 8ca714fa67 Windows will not include <alloca.h>. 2014-03-26 19:43:34 +08:00
faryang-rmbp 491dc202df remove deprecated code in lua tests & template 2014-03-26 19:42:07 +08:00
James Chen d9b4b70ed7 Removed unused include file. 2014-03-26 19:28:10 +08:00
James Chen 1dbfc9e10a Merge pull request #5988 from andyque/fix_silder_hittest
closed 4560,  fixed slider hitTest position
2014-03-26 19:27:41 +08:00
James Chen 4c848861aa Merge pull request #6001 from CocosRobot/update_cocosfiles_1395830476
[AUTO][ci skip]: updating cocos2dx_files.json
2014-03-26 19:15:06 +08:00
James Chen 2a5c2b0e7e Merge pull request #6002 from CocosRobot/update_lua_bindings_1395830496
[AUTO]: updating luabinding automatically
2014-03-26 19:14:42 +08:00
pandamicro 670c3349d5 Merge pull request #5 from pandamicro/develop
Fixed #4566: Constructor added for LayerGradient and sync -x
2014-03-26 18:54:53 +08:00
pandamicro 44d446ef1d Reverse CONSTRUCTOR_ACCESS 2014-03-26 18:48:01 +08:00
pandamicro c08bf69370 Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into LayerGradientCtor 2014-03-26 18:46:00 +08:00
pandamicro 63772f7d72 Fixed #4566: Constructor added for LayerGradient 2014-03-26 18:45:08 +08:00
CocosRobot ebc09373e3 [AUTO]: updating luabinding automatically 2014-03-26 10:42:58 +00:00
CocosRobot 41110ec49a [AUTO][ci skip]: updating cocos2dx_files.json 2014-03-26 10:41:17 +00:00
James Chen 8d035f4333 Update CHANGELOG [ci skip] 2014-03-26 18:31:53 +08:00
James Chen cdd7356512 Merge pull request #5969 from nutty898/develop_nutty_modifylayout_add_Boxes
closed #4534: Adding HBox, VBox layouts, refactoring 'doLayout' function.
2014-03-26 18:30:17 +08:00
James Chen 789044f51d Merge pull request #6000 from CocosRobot/update_lua_bindings_1395829485
[AUTO]: updating luabinding automatically
2014-03-26 18:27:32 +08:00
CocosRobot 6e86e65038 [AUTO]: updating luabinding automatically 2014-03-26 10:25:55 +00:00
James Chen 849d7b9109 Merge pull request #5996 from chengstory/AddNewCreateNodeWay
Adding support of using CCComRender as parent for attached component
2014-03-26 18:20:34 +08:00
CaiWenzhi a05969c395 Move layout "exe" to cpp 2014-03-26 17:58:53 +08:00
zhangcheng f564c4e34a 1. Spirte -> Sprite.
2. _EMPTYNODE -> EMPTY_NODE.
2014-03-26 17:55:35 +08:00
zhangcheng c1ff610277 use capital letters for enum. 2014-03-26 17:21:09 +08:00
zhangcheng 1e6b9f7d9f remove isRenderer. 2014-03-26 17:02:37 +08:00
zhangcheng 58a61d94fb add use CCComRender as parent for attaching component 2014-03-26 16:39:32 +08:00
James Chen faa815eee2 Update CHANGELOG [ci skip] 2014-03-26 16:36:04 +08:00
James Chen 22fdbbb198 Merge pull request #5980 from Dhilan007/develop_label2
Refactor implementation of label's shadow and fixed stroke was not 'outside stroke' for Label generated by 'Font name'
2014-03-26 16:32:04 +08:00
bmanGH bf0240114d fix crash when sort children while label type is STRING_TEXTURE. since the only one child sprite is not add with batch mode 2014-03-26 16:23:23 +08:00
James Chen b0e315637a Merge pull request #5992 from andyque/fix_typo
issue #4401, fix a typo
2014-03-26 16:04:00 +08:00
andyque 876f643bc4 issue #4401, fix a typo 2014-03-26 16:00:55 +08:00
James Chen 8e8de82feb Merge pull request #5991 from dumganhar/develop
Mac build fix after merging https://github.com/cocos2d/cocos2d-x/pull/5989
2014-03-26 15:46:15 +08:00
James Chen 1003847cd1 Mac build fix after merging https://github.com/cocos2d/cocos2d-x/pull/5989 2014-03-26 15:44:38 +08:00
James Chen 21ba509a35 Merge pull request #5989 from dumganhar/iss4559-ios-64bit
closed #4559: Wrong behavior of multi-touch on iphone5s/ipadAir (arm64 arch)
2014-03-26 15:27:57 +08:00
James Chen c1faad7e2c Warning fixes in SocketIOTest.cpp/ FileUtilsTest.cpp. 2014-03-26 15:04:45 +08:00
James Chen 691442d80d closed #4559: Wrong behavior of multi-touch on iphone5s/ipadAir (arm64 arch) 2014-03-26 15:04:11 +08:00
minggo 5e2ffc45ec Merge pull request #5985 from andyque/remove_pragma_mark
issue #4401, remove unused pargma mark macro
2014-03-26 14:58:37 +08:00
andyque 57d8f155df issue #4401. resolve conflicts 2014-03-26 14:54:50 +08:00
chuanweizhang2013 ed75b09d5e Merge branch 'luaruntime' of https://github.com/chuanweizhang2013/cocos2d-x into luaruntime 2014-03-26 14:49:07 +08:00
chuanweizhang2013 210cee9f08 update socket protocol 2014-03-26 14:48:04 +08:00
James Chen 9d4f7467c0 Merge pull request #5984 from CocosRobot/update_lua_bindings_1395813723
[AUTO]: updating luabinding automatically
2014-03-26 14:46:47 +08:00
James Chen 3e175b7ab3 Merge pull request #5987 from lmskater/fix-git-fetch-fail
[Jenkins] Make build as failed when git fetch is failed
2014-03-26 14:44:18 +08:00
andyque 6449ced0ab closed #4560, fixed UISlider hitTest Point 2014-03-26 14:41:53 +08:00
lm 640a82c2ab [Jenkins] Make build as failed when git fetch is failed 2014-03-26 14:29:53 +08:00
Dhilan007 fa91bf1167 remove unused code and fixed warning. 2014-03-26 14:11:40 +08:00
CocosRobot 0140d6d3f7 [AUTO]: updating luabinding automatically 2014-03-26 06:03:04 +00:00
minggo a374241f65 Merge pull request #5924 from MSOpenTech/wp8-3.0-cocos2d-changes
Windows Phone 8,0 cocos2d-x 3.0  changes
2014-03-26 13:58:46 +08:00