diff --git a/src/mbgl/tile/geometry_tile.cpp b/src/mbgl/tile/geometry_tile.cpp index c77467ebc10..84455e47877 100644 --- a/src/mbgl/tile/geometry_tile.cpp +++ b/src/mbgl/tile/geometry_tile.cpp @@ -57,11 +57,12 @@ void GeometryTile::setData(std::unique_ptr data_) { } void GeometryTile::setPlacementConfig(const PlacementConfig& desiredConfig) { - if (placedConfig == desiredConfig) { + if (requestedConfig == desiredConfig) { return; } ++correlationID; + requestedConfig = desiredConfig; worker.invoke(&GeometryTileWorker::setPlacementConfig, desiredConfig, correlationID); } @@ -112,7 +113,6 @@ void GeometryTile::onPlacement(PlacementResult result) { buckets[bucket.first] = std::move(bucket.second); } featureIndex->setCollisionTile(std::move(result.collisionTile)); - placedConfig = result.placedConfig; observer->onTileChanged(*this); } diff --git a/src/mbgl/tile/geometry_tile.hpp b/src/mbgl/tile/geometry_tile.hpp index cb3ca54633f..86243e8a094 100644 --- a/src/mbgl/tile/geometry_tile.hpp +++ b/src/mbgl/tile/geometry_tile.hpp @@ -61,7 +61,6 @@ class GeometryTile : public Tile { public: std::unordered_map> buckets; std::unique_ptr collisionTile; - PlacementConfig placedConfig; uint64_t correlationID; }; void onPlacement(PlacementResult); @@ -79,7 +78,7 @@ class GeometryTile : public Tile { Actor worker; uint64_t correlationID = 0; - optional placedConfig; + optional requestedConfig; std::unordered_map> buckets; std::unique_ptr featureIndex; diff --git a/src/mbgl/tile/geometry_tile_worker.cpp b/src/mbgl/tile/geometry_tile_worker.cpp index 6ff3c67793d..abb3894d345 100644 --- a/src/mbgl/tile/geometry_tile_worker.cpp +++ b/src/mbgl/tile/geometry_tile_worker.cpp @@ -321,7 +321,6 @@ void GeometryTileWorker::attemptPlacement() { parent.invoke(&GeometryTile::onPlacement, GeometryTile::PlacementResult { std::move(buckets), std::move(collisionTile), - *placementConfig, correlationID }); }