[core] don't run symbol placement more often than necessary

This commit is contained in:
Konstantin Käfer
2016-11-11 17:24:40 +01:00
parent 35a66eb2bd
commit a7fa97e8a3
3 changed files with 3 additions and 5 deletions

View File

@@ -57,11 +57,12 @@ void GeometryTile::setData(std::unique_ptr<const GeometryTileData> 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);
}