solve issue #2333 (Camera viewport dimensions not checked)#2388
Merged
yaRnMcDonuts merged 2 commits intomasterfrom Mar 13, 2025
Merged
solve issue #2333 (Camera viewport dimensions not checked)#2388yaRnMcDonuts merged 2 commits intomasterfrom
yaRnMcDonuts merged 2 commits intomasterfrom
Conversation
Member
Author
|
This PR is ready to be reviewed. |
Member
|
Looks good to me. The code changes look safe and I don't foresee it causing any potential issue. So I will wait a bit and then merge this in ~48 hours in case anyone else wants do anymore review before it's integrated. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR attempts to address issue #2333 by adding runtime checks to the
Cameraclass.The new checks throw
IllegalArgumentExceptionand affect 5 setters:setViewPort(float, float, float, float)setViewPortBottom(float)setViewPortLeft(float)setViewPortRight(float)setViewPortTop(float)For ease of maintenance, the checks are actually centralized in
onViewPortChange(). This assumesonViewPortChange()isn't called often enough for this to cause a measurable performance impact.In addition to testing for negative widths and heights, I decided to also test for zero-width viewports and zero-height viewports. I found at one instance of division by height, and I can't think of a use case for a zero-width viewport.
Automated tests (using JUnit4) are included in the PR.