summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2017-09-12 07:20:59 -0400
committerBruno de Oliveira Abinader <bruno@mapbox.com>2017-09-13 16:36:59 -0400
commit8cfd72899630792deddfd792add78b9a56ab6722 (patch)
tree5101b19131c98e988a1853c3c8d521bc1030eb62
parent484b2584285aca1b7d20243edf71ac82453637c5 (diff)
downloadqtlocation-mapboxgl-8cfd72899630792deddfd792add78b9a56ab6722.tar.gz
[core] Reset zoom history state in still modeupstream/api-zoomhistory-v2
-rw-r--r--src/mbgl/renderer/renderer_impl.cpp11
-rw-r--r--test/api/zoom_history.cpp6
2 files changed, 15 insertions, 2 deletions
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp
index 21d56feea9..03ba518b5a 100644
--- a/src/mbgl/renderer/renderer_impl.cpp
+++ b/src/mbgl/renderer/renderer_impl.cpp
@@ -68,8 +68,15 @@ void Renderer::Impl::setObserver(RendererObserver* observer_) {
}
void Renderer::Impl::render(const UpdateParameters& updateParameters) {
- // Don't load/render anyting in still mode until explicitly requested.
- if (updateParameters.mode == MapMode::Still && !updateParameters.stillImageRequest) return;
+ if (updateParameters.mode == MapMode::Still) {
+ // Don't load/render anyting in still mode until explicitly requested.
+ if (!updateParameters.stillImageRequest) {
+ return;
+ }
+
+ // Reset zoom history state.
+ zoomHistory.first = true;
+ }
assert(BackendScope::exists());
diff --git a/test/api/zoom_history.cpp b/test/api/zoom_history.cpp
index 3c60a5e2f2..1b1159bf52 100644
--- a/test/api/zoom_history.cpp
+++ b/test/api/zoom_history.cpp
@@ -62,4 +62,10 @@ TEST(API, ZoomHistory) {
// ZoomHistory.lastIntegerZoom should be 0.
map->setZoom(0.5);
test::checkImage("test/fixtures/zoom_history", frontend.render(*map), 0.0002);
+
+ map->setZoom(1.0);
+ frontend.render(*map);
+
+ map->setZoom(0.5);
+ test::checkImage("test/fixtures/zoom_history", frontend.render(*map), 0.0002);
}