From 0466f3b271713f5e829b427cff65641829a5fd4e Mon Sep 17 00:00:00 2001 From: Bruno de Oliveira Abinader Date: Wed, 30 Aug 2017 14:04:36 +0300 Subject: [core] Clear RenderGeoJSONSource tilePyramid if no data is available --- src/mbgl/renderer/sources/render_geojson_source.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/mbgl/renderer/sources/render_geojson_source.cpp b/src/mbgl/renderer/sources/render_geojson_source.cpp index d6a81e13ca..f7976d7210 100644 --- a/src/mbgl/renderer/sources/render_geojson_source.cpp +++ b/src/mbgl/renderer/sources/render_geojson_source.cpp @@ -34,19 +34,24 @@ void RenderGeoJSONSource::update(Immutable baseImpl_, GeoJSONData* data_ = impl().getData(); - if (!data_) { - return; - } - if (data_ != data) { data = data_; tilePyramid.cache.clear(); - for (auto const& item : tilePyramid.tiles) { - static_cast(item.second.get())->updateData(data->getTile(item.first.canonical)); + if (data) { + for (auto const& item : tilePyramid.tiles) { + static_cast(item.second.get())->updateData(data->getTile(item.first.canonical)); + } + } else { + tilePyramid.tiles.clear(); + tilePyramid.renderTiles.clear(); } } + if (!data) { + return; + } + tilePyramid.update(layers, needsRendering, needsRelayout, -- cgit v1.2.1