Fix crash during scene transition due to invalid camera #1676
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Scene can now be visited correctly with valid cameras being set for child nodes when rendering outside of normal render loop.
Which branch your pull-request should merge into?
2.1
: BugFixes and Improvements for Current LTS branchDescribe your changes
Currently
Scene::visit()
is only used to draw a scene when rendering to aRenderTexture
. The issue with this is that there is no valid camera set for use by the child nodes, so if they access the camera during a call toNode::visit(...)
, a crash will occur. An example isFastTMXLayer::draw
accessing the camera.The fix in this PR allows the Scene to override
visit()
, and ensure that the camera is set correctly for all child nodes in that scene.Scene::visit()
is only ever called when attempting to render to aRenderTexture
, so the changes in this PR should have no impact on any other functionality in Axmol.Issue ticket number and link
Crash issue is described in #1663
Checklist before requesting a review
For each PR
Add Copyright if it missed:
-
"Copyright (c) 2019-present Axmol Engine contributors (see AUTHORS.md)."
I have performed a self-review of my code.
Optional:
For core/new feature PR