summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/geometry_tile.hpp
diff options
context:
space:
mode:
authorChris Loer <chris.loer@gmail.com>2018-01-17 14:26:36 -0800
committerChris Loer <chris.loer@mapbox.com>2018-01-18 14:36:22 -0800
commit656a6373b91ad0c757fdeb8fb1ffb80e9f53d649 (patch)
treeca3837fc9e51ec522b54f89af2b4e954aeb17de0 /src/mbgl/tile/geometry_tile.hpp
parent42845ad63fc2147426b6379ed4acd51d3328a0e4 (diff)
downloadqtlocation-mapboxgl-656a6373b91ad0c757fdeb8fb1ffb80e9f53d649.tar.gz
[core] Synchronize state of CollisionIndex and FeatureIndexes.
Fixes issue #10778, in which mismatch between FeatureIndex and CollisionIndex could lead to inconsistent results or even invalid array access.
Diffstat (limited to 'src/mbgl/tile/geometry_tile.hpp')
-rw-r--r--src/mbgl/tile/geometry_tile.hpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mbgl/tile/geometry_tile.hpp b/src/mbgl/tile/geometry_tile.hpp
index 6667f095ed..1851ad7494 100644
--- a/src/mbgl/tile/geometry_tile.hpp
+++ b/src/mbgl/tile/geometry_tile.hpp
@@ -100,6 +100,8 @@ public:
void markRenderedPreviously() override;
void performedFadePlacement() override;
+ void commitFeatureIndex() override;
+
protected:
const GeometryTileData* getData() {
return data.get();
@@ -123,6 +125,7 @@ private:
std::unordered_map<std::string, std::shared_ptr<Bucket>> nonSymbolBuckets;
std::unique_ptr<FeatureIndex> featureIndex;
+ std::unique_ptr<FeatureIndex> pendingFeatureIndex;
std::unique_ptr<const GeometryTileData> data;
optional<AlphaImage> glyphAtlasImage;