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-25 14:05:32 -0700
commit1d7f81687d46fa4f277d30d3f2b6d401bcd43a3c (patch)
tree7f72a8f0e16fff3e93399754b11dcba9c1b87b9e
parentbb5b3edd14f67e4cd0c0f8c8b0fefd2957e25ce7 (diff)
downloadqtlocation-mapboxgl-upstream/start-collision-debug-circles.tar.gz
Fix segment overflow bug for collision circles.upstream/start-collision-debug-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();