From 3b92725de146eb02ed0ae115b95486207ba63b95 Mon Sep 17 00:00:00 2001 From: "Thiago Marcos P. Santos" Date: Tue, 12 May 2015 19:46:48 +0300 Subject: [PATCH] Stop processing SymbolBuckets at the first incomplete bucket In order to calculate the collision correctly, the layer ordering matters. Because of that, when we find the first incomplete symbol bucket, we stop processing any furter SymbolBucket. The side effect of this change is, if the first SymbolBucket is the last to receive its resources, we won't see any label at all on the screen until the last moment, when everything will be draw at once. --- src/mbgl/map/tile_parser.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mbgl/map/tile_parser.cpp b/src/mbgl/map/tile_parser.cpp index 86517da42..388950491 100644 --- a/src/mbgl/map/tile_parser.cpp +++ b/src/mbgl/map/tile_parser.cpp @@ -118,6 +118,10 @@ std::unique_ptr TileParser::createBucket(const StyleBucket &bucketDesc) } else if (bucketDesc.type == StyleLayerType::Line) { return createLineBucket(*layer, bucketDesc); } else if (bucketDesc.type == StyleLayerType::Symbol) { + if (partialParse) { + return nullptr; + } + bool needsResources = false; auto symbolBucket = createSymbolBucket(*layer, bucketDesc, needsResources); if (needsResources) {