Fix rendering bug in formatted images using case expressions #10553
+63
−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.
Launch Checklist
Fixes #10552
This PR is a proposed fix for Using a case expression to determine an image name within formatted text causes a render bug if one of the image names isn't in the sprite #10552. Currently, we were setting
bucket.iconsInText
per feature/shaped text. This could lead to a situation in whichiconsInText
could flip from true to false and lead to a rendering bug when the wrong shader was selected. This fix ensures that if at least one feature in the bucket has icons mixed with text, the entire bucket will respect that and choose the correct shader.Before


After
TODO
@mapbox/gl-native
if this PR includes shader changes or needs a native portmapbox-gl-js
changelog:<changelog>Allow formatted images in text to use be displayed conditionally</changelog>