diff options
-rw-r--r-- | src/mbgl/layout/symbol_layout.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_line_layer.cpp | 6 |
2 files changed, 2 insertions, 6 deletions
diff --git a/src/mbgl/layout/symbol_layout.cpp b/src/mbgl/layout/symbol_layout.cpp index f16f310a06..d996041ebe 100644 --- a/src/mbgl/layout/symbol_layout.cpp +++ b/src/mbgl/layout/symbol_layout.cpp @@ -743,7 +743,7 @@ std::vector<float> SymbolLayout::calculateTileDistances(const GeometryCoordinate if (i != 0u) { sumBackwardLength += util::dist<float>(line[i - 1], line[i]); } else { - break; + break; // Add break to avoid unsigned integer overflow when i==0 } } } diff --git a/src/mbgl/renderer/layers/render_line_layer.cpp b/src/mbgl/renderer/layers/render_line_layer.cpp index 249248e666..b03ac8027b 100644 --- a/src/mbgl/renderer/layers/render_line_layer.cpp +++ b/src/mbgl/renderer/layers/render_line_layer.cpp @@ -242,11 +242,7 @@ GeometryCollection offsetLine(const GeometryCollection& rings, double offset) { Point<double> extrude = util::unit(aToB + bToC); const double cosHalfAngle = extrude.x * bToC.x + extrude.y * bToC.y; - if (cosHalfAngle == 0) { - extrude = zero; - } else { - extrude *= (1.0 / cosHalfAngle); - } + extrude *= (cosHalfAngle != 0) ? (1.0 / cosHalfAngle) : 0; newRing.emplace_back(convertPoint<int16_t>(extrude * offset) + p); } |