summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnsis Brammanis <brammanis@gmail.com>2016-03-29 00:23:16 -0700
committerAnsis Brammanis <brammanis@gmail.com>2016-03-29 11:38:35 -0700
commit0539f7b4cb49e0690b9654f57fe9e2f724e14903 (patch)
tree4feea6aee5ab1c4879d8dda9ff0623f5c8dd90cc
parent6fcc7ba513753d71dc70aa219311570c2350f9e0 (diff)
downloadqtlocation-mapboxgl-0539f7b4cb49e0690b9654f57fe9e2f724e14903.tar.gz
[core] fix infinite loop in mbgl::resample
fix #4416
-rw-r--r--package.json2
-rw-r--r--src/mbgl/renderer/line_bucket.cpp2
-rw-r--r--src/mbgl/renderer/symbol_bucket.cpp2
-rw-r--r--src/mbgl/text/get_anchors.cpp3
4 files changed, 6 insertions, 3 deletions
diff --git a/package.json b/package.json
index 3c561c21b0..61e54ab7bc 100644
--- a/package.json
+++ b/package.json
@@ -26,7 +26,7 @@
],
"devDependencies": {
"aws-sdk": "^2.2.21",
- "mapbox-gl-test-suite": "mapbox/mapbox-gl-test-suite#a42cd0cb818356d91fc6b61e2b64801e57486ac0",
+ "mapbox-gl-test-suite": "mapbox/mapbox-gl-test-suite#45066f6e78c780211d9587df2352597e07a197b5",
"node-gyp": "^3.2.1",
"request": "^2.67.0",
"tape": "^4.2.2"
diff --git a/src/mbgl/renderer/line_bucket.cpp b/src/mbgl/renderer/line_bucket.cpp
index ac9a3f7231..dfaa93419c 100644
--- a/src/mbgl/renderer/line_bucket.cpp
+++ b/src/mbgl/renderer/line_bucket.cpp
@@ -69,7 +69,7 @@ void LineBucket::addGeometry(const GeometryCoordinates& vertices) {
const float miterLimit = layout.join == JoinType::Bevel ? 1.05f : float(layout.miterLimit);
- const double sharpCornerOffset = SHARP_CORNER_OFFSET * (util::EXTENT / (util::tileSize * overscaling));
+ const double sharpCornerOffset = SHARP_CORNER_OFFSET * (float(util::EXTENT) / (util::tileSize * overscaling));
const GeometryCoordinate firstVertex = vertices.front();
const GeometryCoordinate lastVertex = vertices[len - 1];
diff --git a/src/mbgl/renderer/symbol_bucket.cpp b/src/mbgl/renderer/symbol_bucket.cpp
index 404a62d374..6530510e27 100644
--- a/src/mbgl/renderer/symbol_bucket.cpp
+++ b/src/mbgl/renderer/symbol_bucket.cpp
@@ -60,7 +60,7 @@ SymbolBucket::SymbolBucket(uint32_t overscaling_, float zoom_, const MapMode mod
: overscaling(overscaling_),
zoom(zoom_),
tileSize(util::tileSize * overscaling_),
- tilePixelRatio(util::EXTENT / tileSize),
+ tilePixelRatio(float(util::EXTENT) / tileSize),
mode(mode_) {}
SymbolBucket::~SymbolBucket() {
diff --git a/src/mbgl/text/get_anchors.cpp b/src/mbgl/text/get_anchors.cpp
index 740ec288b3..c55f238e52 100644
--- a/src/mbgl/text/get_anchors.cpp
+++ b/src/mbgl/text/get_anchors.cpp
@@ -3,6 +3,7 @@
#include <mbgl/util/constants.hpp>
#include <mbgl/util/interpolate.hpp>
+#include <cassert>
#include <cmath>
namespace mbgl {
@@ -21,6 +22,8 @@ Anchors resample(const GeometryCoordinates &line, const float offset, const floa
Anchors anchors;
+ assert(spacing > 0.0);
+
int i = 0;
for (auto it = line.begin(), end = line.end() - 1; it != end; it++, i++) {
const GeometryCoordinate &a = *(it);