summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/vector_tile_data.cpp
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2016-05-25 19:54:30 +0200
committerKonstantin Käfer <mail@kkaefer.com>2016-05-25 21:51:25 +0200
commitc52a0c65f473a82d9aed05f402bc4e82fcd24fb9 (patch)
tree7db828b32ded3179de5ab6efe285c2475000b95d /src/mbgl/tile/vector_tile_data.cpp
parent95dc8ff3e1e890a1074f75fe9b8116217975e448 (diff)
downloadqtlocation-mapboxgl-c52a0c65f473a82d9aed05f402bc4e82fcd24fb9.tar.gz
[core] remove TileData::State::loaded
Diffstat (limited to 'src/mbgl/tile/vector_tile_data.cpp')
-rw-r--r--src/mbgl/tile/vector_tile_data.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/mbgl/tile/vector_tile_data.cpp b/src/mbgl/tile/vector_tile_data.cpp
index 220290cbf9..29aac5af30 100644
--- a/src/mbgl/tile/vector_tile_data.cpp
+++ b/src/mbgl/tile/vector_tile_data.cpp
@@ -29,7 +29,6 @@ VectorTileData::VectorTileData(const OverscaledTileID& id_,
mode_),
monitor(std::move(monitor_))
{
- state = State::loading;
tileRequest = monitor->monitorTile([callback, this](std::exception_ptr err,
std::unique_ptr<GeometryTile> tile,
optional<Timestamp> modified_,
@@ -51,9 +50,9 @@ VectorTileData::VectorTileData(const OverscaledTileID& id_,
return;
}
- if (state == State::loading) {
- state = State::loaded;
- } else if (isRenderable()) {
+ // Mark the tile as pending again if it was complete before to prevent signaling a complete
+ // state despite pending parse operations.
+ if (isComplete()) {
state = State::partial;
}
@@ -80,7 +79,7 @@ VectorTileData::VectorTileData(const OverscaledTileID& id_,
// existing buckets in case we got a refresh parse.
buckets = std::move(resultBuckets.buckets);
- if (state == State::parsed) {
+ if (isComplete()) {
featureIndex = std::move(resultBuckets.featureIndex);
geometryTile = std::move(resultBuckets.geometryTile);
}
@@ -127,7 +126,7 @@ bool VectorTileData::parsePending(std::function<void(std::exception_ptr)> callba
// place again in case the configuration has changed.
placedConfig = config;
- if (state == State::parsed) {
+ if (isComplete()) {
featureIndex = std::move(resultBuckets.featureIndex);
geometryTile = std::move(resultBuckets.geometryTile);
}