diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp b/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp index 61f2aaf57..6351555cf 100644 --- a/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp +++ b/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp @@ -449,7 +449,7 @@ void PageViewportControllerClientQt::pinchGestureStarted(const QPointF& pinchCen // This can only happen as a result of a user interaction. ASSERT(m_controller->hadUserInteraction()); - if (!m_controller->allowsUserScaling()) + if (!m_controller->allowsUserScaling() || !m_viewportItem->isInteractive()) return; clearRelativeZoomState(); @@ -461,11 +461,10 @@ void PageViewportControllerClientQt::pinchGestureStarted(const QPointF& pinchCen void PageViewportControllerClientQt::pinchGestureRequestUpdate(const QPointF& pinchCenterInViewportCoordinates, qreal totalScaleFactor) { - ASSERT(m_scaleChange.inProgress()); - - if (!m_controller->allowsUserScaling()) + if (!m_controller->allowsUserScaling() || !m_viewportItem->isInteractive()) return; + ASSERT(m_scaleChange.inProgress()); ASSERT(m_pinchStartScale > 0); // Changes of the center position should move the page even if the zoom factor does not change. const qreal pinchScale = m_pinchStartScale * totalScaleFactor; @@ -483,11 +482,10 @@ void PageViewportControllerClientQt::pinchGestureRequestUpdate(const QPointF& pi void PageViewportControllerClientQt::pinchGestureEnded() { - ASSERT(m_scaleChange.inProgress()); - - if (!m_controller->allowsUserScaling()) + if (m_pinchStartScale < 0) return; + ASSERT(m_scaleChange.inProgress()); m_pinchStartScale = -1; // This will take care of resuming the content, even if no animation was performed. |