diff options
Diffstat (limited to 'src/mbgl/layout/symbol_layout.cpp')
-rw-r--r-- | src/mbgl/layout/symbol_layout.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mbgl/layout/symbol_layout.cpp b/src/mbgl/layout/symbol_layout.cpp index 0a1c3c4fbd..d996041ebe 100644 --- a/src/mbgl/layout/symbol_layout.cpp +++ b/src/mbgl/layout/symbol_layout.cpp @@ -738,10 +738,12 @@ std::vector<float> SymbolLayout::calculateTileDistances(const GeometryCoordinate sumForwardLength += util::dist<float>(line[i + 1], line[i]); } } - for (std::size_t i = ++segment; i-- > 0;) { + for (std::size_t i = segment;; --i) { tileDistances[i] = sumBackwardLength; if (i != 0u) { sumBackwardLength += util::dist<float>(line[i - 1], line[i]); + } else { + break; // Add break to avoid unsigned integer overflow when i==0 } } } |