diff options
Diffstat (limited to 'src/mbgl/tile/geometry_tile.cpp')
-rw-r--r-- | src/mbgl/tile/geometry_tile.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mbgl/tile/geometry_tile.cpp b/src/mbgl/tile/geometry_tile.cpp index 9165c03267..a3ae4217c9 100644 --- a/src/mbgl/tile/geometry_tile.cpp +++ b/src/mbgl/tile/geometry_tile.cpp @@ -93,12 +93,13 @@ void GeometryTile::setLayers(const std::vector<Immutable<Layer::Impl>>& layers) pending = true; std::vector<Immutable<Layer::Impl>> impls; + impls.reserve(layers.size()); for (const auto& layer : layers) { // Skip irrelevant layers. - if (layer->getTypeInfo()->source == LayerTypeInfo::Source::NotRequired || - layer->source != sourceID || - id.overscaledZ < std::floor(layer->minZoom) || + assert(layer->getTypeInfo()->source != LayerTypeInfo::Source::NotRequired); + assert(layer->source == sourceID); + if (id.overscaledZ < std::floor(layer->minZoom) || id.overscaledZ >= std::ceil(layer->maxZoom) || layer->visibility == VisibilityType::None) { continue; |