[Image] Fix invalid CGContext when one dimension of destination Image size == 0 #2278
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.
Addresses #1534
When an image has a known width, but a height of 0 (which can happen if
flex: 1
is set on theImage
element),RCTDownloadManager
attempts to scale it to an invalid size, which results in aNULL
CGContextRef
and some scary warnings from UIKit:This adds a check for zero width or height to the
RCTClipRect
function. If either dimension is zero, it is calculated based on the aspect ratio of the source image. This ensures that we don't try to create an invalidCGContextRef
, and that images with an unknown dimension are still scaled, blended, etc.