diff options
Diffstat (limited to 'src/mbgl/tile/geometry_tile.cpp')
-rw-r--r-- | src/mbgl/tile/geometry_tile.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/mbgl/tile/geometry_tile.cpp b/src/mbgl/tile/geometry_tile.cpp index 5079a33340..b8dc86555b 100644 --- a/src/mbgl/tile/geometry_tile.cpp +++ b/src/mbgl/tile/geometry_tile.cpp @@ -93,10 +93,10 @@ void GeometryTile::redoLayout() { // state despite pending parse operations. pending = true; - std::vector<std::unique_ptr<Layer>> copy; + std::vector<Immutable<Layer::Impl>> impls; for (const Layer* layer : style.getLayers()) { - // Avoid cloning and including irrelevant layers. + // Skip irrelevant layers. if (layer->is<BackgroundLayer>() || layer->is<CustomLayer>() || layer->baseImpl->source != sourceID || @@ -106,11 +106,11 @@ void GeometryTile::redoLayout() { continue; } - copy.push_back(layer->baseImpl->clone()); + impls.push_back(layer->baseImpl); } ++correlationID; - worker.invoke(&GeometryTileWorker::setLayers, std::move(copy), correlationID); + worker.invoke(&GeometryTileWorker::setLayers, std::move(impls), correlationID); } void GeometryTile::onLayout(LayoutResult result) { @@ -160,9 +160,9 @@ void GeometryTile::getIcons(IconDependencies) { spriteAtlas.getIcons(*this); } -Bucket* GeometryTile::getBucket(const RenderLayer& layer) const { - const auto& buckets = layer.is<RenderSymbolLayer>() ? symbolBuckets : nonSymbolBuckets; - const auto it = buckets.find(layer.baseImpl.id); +Bucket* GeometryTile::getBucket(const Layer::Impl& layer) const { + const auto& buckets = layer.type == LayerType::Symbol ? symbolBuckets : nonSymbolBuckets; + const auto it = buckets.find(layer.id); if (it == buckets.end()) { return nullptr; } |