summaryrefslogtreecommitdiff
path: root/src/mbgl/map/resource_loader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/map/resource_loader.cpp')
-rw-r--r--src/mbgl/map/resource_loader.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/mbgl/map/resource_loader.cpp b/src/mbgl/map/resource_loader.cpp
index 7b5ebd19df..2be86dc5e2 100644
--- a/src/mbgl/map/resource_loader.cpp
+++ b/src/mbgl/map/resource_loader.cpp
@@ -83,12 +83,19 @@ void ResourceLoader::update(MapData& data,
spriteAtlas.setSprite(sprite_);
}
+ bool allTilesUpdated = true;
for (const auto& source : style_->sources) {
- source->update(data, transform, *style_, glyphAtlas, *glyphStore_,
- spriteAtlas, sprite_, texturePool, shouldReparsePartialTiles_);
+ if (!source->update(data, transform, *style_, glyphAtlas, *glyphStore_,
+ spriteAtlas, sprite_, texturePool, shouldReparsePartialTiles_)) {
+ allTilesUpdated = false;
+ }
}
- shouldReparsePartialTiles_ = false;
+ // We can only stop updating "partial" tiles when all of them
+ // were notified of the arrival of the new resources.
+ if (allTilesUpdated) {
+ shouldReparsePartialTiles_ = false;
+ }
}
void ResourceLoader::onGlyphRangeLoaded() {