diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-11-22 13:58:21 +0200 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-11-29 11:12:55 +0200 |
commit | 06c80cae3c36b196fab6adc1320c11444a52a26e (patch) | |
tree | 84fce181b37c6323df4d17dc68c56e10aede90d4 /src/mbgl/tile/geometry_tile.cpp | |
parent | 6419cd0ab2ba877bbae51ae7590ddba47765dac7 (diff) | |
download | qtlocation-mapboxgl-06c80cae3c36b196fab6adc1320c11444a52a26e.tar.gz |
[core] Introduce GeometryTile::reset()
The newly introduced `GeometryTile::reset()` is
used while GeoJSON tile update in order to prevent from the
parsing of the new data with the stale layers or vice verse.
Diffstat (limited to 'src/mbgl/tile/geometry_tile.cpp')
-rw-r--r-- | src/mbgl/tile/geometry_tile.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/mbgl/tile/geometry_tile.cpp b/src/mbgl/tile/geometry_tile.cpp index 4a3d91455a..7df81fa30f 100644 --- a/src/mbgl/tile/geometry_tile.cpp +++ b/src/mbgl/tile/geometry_tile.cpp @@ -176,14 +176,23 @@ void GeometryTile::setError(std::exception_ptr err) { observer->onTileError(*this, err); } -void GeometryTile::setData(std::unique_ptr<const GeometryTileData> data_, bool resetLayers) { +void GeometryTile::setData(std::unique_ptr<const GeometryTileData> data_) { // Mark the tile as pending again if it was complete before to prevent signaling a complete // state despite pending parse operations. pending = true; ++correlationID; worker.self().invoke( - &GeometryTileWorker::setData, std::move(data_), imageManager.getAvailableImages(), resetLayers, correlationID); + &GeometryTileWorker::setData, std::move(data_), imageManager.getAvailableImages(), correlationID); +} + +void GeometryTile::reset() { + // Mark the tile as pending again if it was complete before to prevent signaling a complete + // state despite pending parse operations. + pending = true; + + ++correlationID; + worker.self().invoke(&GeometryTileWorker::reset, correlationID); } std::unique_ptr<TileRenderData> GeometryTile::createRenderData() { |