Commit Graph

2866 Commits

Author SHA1 Message Date
Darragh Coy 83495e6e9b Macro wrap some of the other debug checks related to event listeners. 2014-03-27 15:39:52 -07:00
Darragh Coy c6cd927ea5 When an event listener is removed from the scene and has a node associated with it, NULL out the node pointer so as not to leave any dangling pointers. 2014-03-27 15:37:16 -07:00
Darragh Coy a778d07ecc Undo most of the rest of the event dispatcher related changes in this fix. Will update with a much more elegant solution that does not disturb the existing code so much and which ensures no dangling pointers. 2014-03-27 15:22:11 -07:00
Darragh Coy 824efceb3f Revert "Review feedback: fix memory leak discovered."
This reverts commit 07646f1c82.
2014-03-27 15:14:37 -07:00
Darragh Coy 8ee90389b4 Review feedback: Wrap the debug verification in additional macros which are disabled by default.
Require the user to enable 'CC_NODE_DEBUG_VERIFY_EVENT_LISTENERS' in ccConfig.h in order to enable the debug checks in debug builds.
2014-03-27 12:29:28 -07:00
Darragh Coy 6e19da12c3 Review feedback: Remove unnecessary check of EventListener::getSceneGraphPriority() for fixed event listeners.
Fixed priority event listeners never have an associated node.
2014-03-27 11:59:07 -07:00
Darragh Coy 07646f1c82 Review feedback: fix memory leak discovered.
Always safe release the listener we retain - shift where release happens to the end of the block. Reproduced the leak using the Xcode Leaks instrument in the RemoveListenerAfterAddingTest and verified fixed after apply this change.
2014-03-27 11:28:27 -07:00
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
CocosRobot 8efb9ad4e0 [AUTO]: updating luabinding automatically 2014-03-26 12:09:41 +00: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
CocosRobot ebc09373e3 [AUTO]: updating luabinding automatically 2014-03-26 10:42:58 +00: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
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 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
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 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
andyque 6449ced0ab closed #4560, fixed UISlider hitTest Point 2014-03-26 14:41: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
James Chen 7a8db8271f Merge pull request #5930 from andyque/Branch_issue4429
closed #4429: Boolean value could not be written to specified plist file
2014-03-26 11:46:56 +08:00
Dhilan007 1247760d95 Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into develop_label_fixs
Conflicts:
	cocos/2d/CCLabel.cpp
2014-03-26 11:15:48 +08:00
Dhilan007 41ffa372e8 label: Refactor implementation of shadow. 2014-03-26 11:09:16 +08:00
James Chen f6c6d428ad Merge pull request #5926 from andyque/fix_tests_warnings
issue #4401, remove warnings under win32
2014-03-25 18:17:42 +08:00
CocosRobot c5d6e83673 [AUTO]: updating luabinding automatically 2014-03-25 09:30:11 +00:00
CaiWenzhi c976791f7d Merge branch 'develop' into develop_nutty_modifylayout_add_Boxes 2014-03-25 17:17:57 +08:00
CaiWenzhi 243b7e5822 Modify layout and add Boxes 2014-03-25 17:15:54 +08:00
James Chen b6589b0b5a Merge pull request #5931 from Dhilan007/develop_label
label: Support to clip transparent area of Label, content size will be updated with only non-transparent area.
2014-03-25 16:47:12 +08:00
LinWenhai 4b454fe7bb Update getter of ClipMarginEnabled. 2014-03-25 16:37:34 +08:00
minggo cc61df50e7 Merge pull request #5965 from natural-law/issue2880
Generate mipmap for the texture has mipmaps when reload textures.
2014-03-25 16:29:05 +08:00
James Chen 8f95e27dc7 Merge pull request #5943 from koowolf/websocket_fix
closed #4542: WebsocketTest crashes on win32, it may delete mutex which is still being locked
2014-03-25 16:28:18 +08:00
zhangbin 36892c3a98 Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into issue2880 2014-03-25 16:21:41 +08:00
zhangbin d6ad9274c4 closed #2880, Generate mipmap for the texture has mipmaps when reload textures. 2014-03-25 16:19:34 +08:00
koowolf c37584ee5c closed #4542: fix crash in win32(delete mutex while still lock) 2014-03-25 16:14:21 +08:00
CocosRobot bdcd6ea198 [AUTO]: updating luabinding automatically 2014-03-25 08:13:42 +00:00
Dhilan007 674dffce21 Merge branch 'develop-label-stroke' of https://github.com/dumganhar/cocos2d-x into develop_label_fixs 2014-03-25 16:10:47 +08:00
James Chen 34245d4bd0 Merge pull request #5953 from dumganhar/merge5934
closed #4541: [ui] Removed Widget::addNode, added ProtectedNode.
2014-03-25 15:46:56 +08:00
James Chen c8a762c92b Merge pull request #5954 from CocosRobot/update_lua_bindings_1395733113
[AUTO]: updating luabinding automatically
2014-03-25 15:43:38 +08:00
CocosRobot 86f69a0b4e [AUTO]: updating luabinding automatically 2014-03-25 07:39:29 +00:00
minggo 3fc15e5e7d Merge pull request #5896 from splhack/remove_nativeactivity
Remove NativeActivity
2014-03-25 15:37:12 +08:00
minggo cab21adf4a Merge pull request #5919 from boyu0/bug4499_ParticleSystem_endRadiusVar_bug
closed #4499: Read ParticleSystem::modeB.endRadiusVar from "minRadiusVariance...
2014-03-25 15:34:36 +08:00