fix(BitmapSkin): Prevent WebGL errors for 0-dimension bitmaps#2552
Closed
aryanjsingh wants to merge 1 commit intoscratchfoundation:developfrom
Closed
Conversation
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Summary
Fixes a WebGL error that occurred when creating a new bitmap costume via the 'paint' button. The error was caused by attempting to create a texture from a source with zero width or height.
The fix is to use the
_getBitmapSizestatic method to correctly check the dimensions of the incoming bitmap data at the beginning ofsetBitmap. This ensures that 0-width or 0-height bitmaps are handled gracefully before they can cause a WebGL error.Changes
setBitmap, the initial check for bitmap dimensions was not robust for all bitmap data types. This change replaces the simple property check with a call to_getBitmapSize, which correctly determines the bitmap's dimensions (e.g., usingnaturalWidthfor images). This prevents 0x0 bitmaps from being passed to WebGL, fixing the reported errors.Related Issue
Closes #417