From 18f7e6dc9f59159b70cb7e6a8745738f42d4f46f Mon Sep 17 00:00:00 2001 From: Paolo Angelelli Date: Tue, 2 May 2017 16:04:13 +0200 Subject: Fix for MapGestureArea pinch and scroll wheel not honoring min zoom This patch fixes a regression introduced with e81ba34a98b259723e783e2d2df4321309992291, which made possible to zoom below the minimum valid zoom level for a viewport size. Change-Id: I4e71530b9bc5423ea24083146963c3bd0928f14a Reviewed-by: Alex Blasche --- src/location/declarativemaps/qquickgeomapgesturearea.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/location/declarativemaps/qquickgeomapgesturearea.cpp') diff --git a/src/location/declarativemaps/qquickgeomapgesturearea.cpp b/src/location/declarativemaps/qquickgeomapgesturearea.cpp index 13c667e6..a40afd68 100644 --- a/src/location/declarativemaps/qquickgeomapgesturearea.cpp +++ b/src/location/declarativemaps/qquickgeomapgesturearea.cpp @@ -953,7 +953,8 @@ void QQuickGeoMapGestureArea::handleWheelEvent(QWheelEvent *event) const double zoomLevelDelta = event->angleDelta().y() * qreal(0.001); // Gesture area should always honor maxZL, but Map might not. - m_declarativeMap->setZoomLevel(qMin(m_declarativeMap->zoomLevel() + zoomLevelDelta, maximumZoomLevel())); + m_declarativeMap->setZoomLevel(qMin(m_declarativeMap->zoomLevel() + zoomLevelDelta, maximumZoomLevel()), + false); const QPointF &postZoomPoint = m_map->geoProjection().coordinateToItemPosition(wheelGeoPos, false).toPointF(); if (preZoomPoint != postZoomPoint) // need to re-anchor the wheel geoPos to the event position @@ -1595,7 +1596,7 @@ void QQuickGeoMapGestureArea::updatePinch() qreal perPinchMinimumZoomLevel = qMax(m_pinch.m_zoom.m_start - m_pinch.m_zoom.maximumChange, m_pinch.m_zoom.m_minimum); qreal perPinchMaximumZoomLevel = qMin(m_pinch.m_zoom.m_start + m_pinch.m_zoom.maximumChange, m_pinch.m_zoom.m_maximum); newZoomLevel = qMin(qMax(perPinchMinimumZoomLevel, newZoomLevel), perPinchMaximumZoomLevel); - m_declarativeMap->setZoomLevel(qMin(newZoomLevel, maximumZoomLevel())); + m_declarativeMap->setZoomLevel(qMin(newZoomLevel, maximumZoomLevel()), false); m_pinch.m_zoom.m_previous = newZoomLevel; } } -- cgit v1.2.3