summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Loer <chris.loer@gmail.com>2017-10-25 14:05:32 -0700
committerChris Loer <chris.loer@gmail.com>2017-10-31 10:25:57 -0700
commitf680559e48d6f4dc5cc4066696b07e1088507259 (patch)
tree80a4f149b99b521e678c077f1e056f181403114e
parent7701de40c9797118938932d7b2367f9126eff2e7 (diff)
downloadqtlocation-mapboxgl-f680559e48d6f4dc5cc4066696b07e1088507259.tar.gz
Fix segment overflow bug for collision circles.
[skip ci]
-rw-r--r--src/mbgl/layout/symbol_layout.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mbgl/layout/symbol_layout.cpp b/src/mbgl/layout/symbol_layout.cpp
index 358063021d..3f4abe59f6 100644
--- a/src/mbgl/layout/symbol_layout.cpp
+++ b/src/mbgl/layout/symbol_layout.cpp
@@ -597,7 +597,8 @@ void SymbolLayout::addToDebugBuffers(CollisionTile& collisionTile, SymbolBucket&
const std::size_t indexLength = feature.alongLine ? 4 : 8;
if (collisionBuffer.segments.empty() || collisionBuffer.segments.back().vertexLength + vertexLength > std::numeric_limits<uint16_t>::max()) {
- collisionBuffer.segments.emplace_back(collisionBuffer.vertices.vertexSize(), bucket.collisionBox.lines.indexSize());
+ collisionBuffer.segments.emplace_back(collisionBuffer.vertices.vertexSize(),
+ feature.alongLine? bucket.collisionCircle.triangles.indexSize() : bucket.collisionBox.lines.indexSize());
}
auto& segment = collisionBuffer.segments.back();