summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2016-03-08 23:44:06 +0200
committerBruno de Oliveira Abinader <bruno@mapbox.com>2016-03-10 03:36:47 +0200
commit7dde622db130a15865262ce45b87a4ec28313981 (patch)
tree97b8843fbe35550697045ff3e4085397ee347019
parentb33b2f1515060d0c447fdf09f52935db1c076430 (diff)
downloadqtlocation-mapboxgl-7dde622db130a15865262ce45b87a4ec28313981.tar.gz
[core] Extra checks in Transform
-rw-r--r--src/mbgl/map/transform.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mbgl/map/transform.cpp b/src/mbgl/map/transform.cpp
index 61635d472a..45386b9dc8 100644
--- a/src/mbgl/map/transform.cpp
+++ b/src/mbgl/map/transform.cpp
@@ -423,7 +423,7 @@ ScreenCoordinate Transform::getScreenCoordinate(const EdgeInsets& padding) const
#pragma mark - Zoom
void Transform::scaleBy(double ds, const ScreenCoordinate& center, const Duration& duration) {
- if (std::isnan(ds)) {
+ if (std::isnan(ds) || !center) {
return;
}
@@ -463,10 +463,12 @@ void Transform::setScale(double scale, const EdgeInsets& padding, const Duration
}
void Transform::setMinZoom(const double minZoom) {
+ if (std::isnan(minZoom)) return;
state.setMinZoom(minZoom);
}
void Transform::setMaxZoom(const double maxZoom) {
+ if (std::isnan(maxZoom)) return;
state.setMaxZoom(maxZoom);
}
@@ -657,12 +659,14 @@ void Transform::setGestureInProgress(bool inProgress) {
#pragma mark Conversion and projection
ScreenCoordinate Transform::latLngToScreenCoordinate(const LatLng& latLng) const {
+ if (!latLng) return {};
ScreenCoordinate point = state.latLngToScreenCoordinate(latLng);
point.y = state.height - point.y;
return point;
}
LatLng Transform::screenCoordinateToLatLng(const ScreenCoordinate& point) const {
+ if (!point) return {};
ScreenCoordinate flippedPoint = point;
flippedPoint.y = state.height - flippedPoint.y;
return state.screenCoordinateToLatLng(flippedPoint);