diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2017-08-25 11:47:34 +0300 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2017-08-25 23:41:52 +0300 |
commit | fe8cbc78d3b01004ba672fe4836cc252ffd52605 (patch) | |
tree | 7ed11089942404d97363029403a33d7837852adb /src/mbgl/tile/geometry_tile_worker.cpp | |
parent | f3fc9b2b923113b10d7ec97531865e625c44fa54 (diff) | |
download | qtlocation-mapboxgl-fe8cbc78d3b01004ba672fe4836cc252ffd52605.tar.gz |
[core] Added GeometryTileWorker-owned image correlation ID
Diffstat (limited to 'src/mbgl/tile/geometry_tile_worker.cpp')
-rw-r--r-- | src/mbgl/tile/geometry_tile_worker.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mbgl/tile/geometry_tile_worker.cpp b/src/mbgl/tile/geometry_tile_worker.cpp index c622d82e31..4af35e2326 100644 --- a/src/mbgl/tile/geometry_tile_worker.cpp +++ b/src/mbgl/tile/geometry_tile_worker.cpp @@ -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)); } } |