diff --git a/src/render/painter.js b/src/render/painter.js index 32fbe08548b..165a1e6e91c 100644 --- a/src/render/painter.js +++ b/src/render/painter.js @@ -589,6 +589,7 @@ class Painter { */ isPatternMissing(image: ?CrossFaded): boolean { if (!image) return false; + if (!image.from || !image.to) return true; const imagePosA = this.imageManager.getPattern(image.from.toString()); const imagePosB = this.imageManager.getPattern(image.to.toString()); return !imagePosA || !imagePosB; diff --git a/test/integration/render-tests/regressions/mapbox-gl-js#9518/expected.png b/test/integration/render-tests/regressions/mapbox-gl-js#9518/expected.png new file mode 100644 index 00000000000..1ed60094c40 Binary files /dev/null and b/test/integration/render-tests/regressions/mapbox-gl-js#9518/expected.png differ diff --git a/test/integration/render-tests/regressions/mapbox-gl-js#9518/style.json b/test/integration/render-tests/regressions/mapbox-gl-js#9518/style.json new file mode 100644 index 00000000000..a7d66de5770 --- /dev/null +++ b/test/integration/render-tests/regressions/mapbox-gl-js#9518/style.json @@ -0,0 +1,27 @@ +{ + "version": 8, + "metadata": { + "test": { + "width": 8, + "height": 8 + } + }, + "zoom": 3, + "sources": {}, + "sprite": "local://sprites/emerald", + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-pattern": [ + "step", + ["zoom"], + "", + 5, + "cemetery_icon" + ] + } + } + ] +}