diff options
Diffstat (limited to 'src/mbgl/renderer/sources/render_raster_source.cpp')
-rw-r--r-- | src/mbgl/renderer/sources/render_raster_source.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mbgl/renderer/sources/render_raster_source.cpp b/src/mbgl/renderer/sources/render_raster_source.cpp index 74740f4eac..5d32818663 100644 --- a/src/mbgl/renderer/sources/render_raster_source.cpp +++ b/src/mbgl/renderer/sources/render_raster_source.cpp @@ -31,10 +31,6 @@ void RenderRasterSource::update(Immutable<style::Source::Impl> baseImpl_, optional<Tileset> _tileset = impl().getTileset(); - if (!_tileset) { - return; - } - if (tileset != _tileset) { tileset = _tileset; @@ -44,6 +40,11 @@ void RenderRasterSource::update(Immutable<style::Source::Impl> baseImpl_, tilePyramid.renderTiles.clear(); tilePyramid.cache.clear(); } + // Allow clearing the tile pyramid first, before the early return in case + // the new tileset is not yet available or has an error in loading + if (!_tileset) { + return; + } tilePyramid.update(layers, needsRendering, |