[core] Added GeometryTileWorker-owned image correlation ID

This commit is contained in:
Bruno de Oliveira Abinader
2017-08-25 11:47:34 +03:00
parent f3fc9b2b92
commit fe8cbc78d3
8 changed files with 48 additions and 24 deletions

View File

@@ -216,7 +216,10 @@ void GeometryTileWorker::onGlyphsAvailable(GlyphMap newGlyphMap) {
symbolDependenciesChanged();
}
void GeometryTileWorker::onImagesAvailable(ImageMap newImageMap) {
void GeometryTileWorker::onImagesAvailable(ImageMap newImageMap, uint64_t imageCorrelationID_) {
if (imageCorrelationID != imageCorrelationID_) {
return; // Ignore outdated image request replies.
}
imageMap = std::move(newImageMap);
pendingImageDependencies.clear();
symbolDependenciesChanged();
@@ -239,7 +242,7 @@ void GeometryTileWorker::requestNewGlyphs(const GlyphDependencies& glyphDependen
void GeometryTileWorker::requestNewImages(const ImageDependencies& imageDependencies) {
pendingImageDependencies = imageDependencies;
if (!pendingImageDependencies.empty()) {
parent.invoke(&GeometryTile::getImages, pendingImageDependencies);
parent.invoke(&GeometryTile::getImages, std::make_pair(pendingImageDependencies, ++imageCorrelationID));
}
}