Fix an edge case with loadImage in Safari and older Firefox #10524
+3
−1
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.
Fixes #10180 by getting data out of an
Image
object eagerly when runningloadImage
in caseImageBitmap
is not supported.In the stretchable images example,
loadImage
result was saved to be used later (when both images are loaded), and there could be a situation where the image memory is freed (with the transparent image hack) before it gets passed toaddImage
. This PR fixes this by doinggetImageData
as soon as we load the image, not later at theaddImage
stage, when using the combination ofloadImage
andaddImage
with a delay in between.Launch Checklist
mapbox-gl-js
changelog:<changelog>Fixed a bug where map.loadImage followed by map.addImage with a delay could fail in Safari and Firefox.</changelog>