diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2012-07-02 10:36:35 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-04 10:12:10 +0200 |
commit | 8a80f76fd6591b0553c5e9574a5f04cd3bebb659 (patch) | |
tree | e70a366323d0b64722ab4d40fe2cd086a9d16dc2 /src/quick/items/qquickcanvas.cpp | |
parent | e10706d393937ccf2c2a33920d66617bacc0e5d7 (diff) |
Improve wheel event handling.
Use new angleDelta() rather than deprecated event data.
Change-Id: I28d0a1ff1bc99b35e1ce3d553e5cb9bdc9362f4c
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src/quick/items/qquickcanvas.cpp')
-rw-r--r-- | src/quick/items/qquickcanvas.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/quick/items/qquickcanvas.cpp b/src/quick/items/qquickcanvas.cpp index 7e0f482ee0..12173a3e26 100644 --- a/src/quick/items/qquickcanvas.cpp +++ b/src/quick/items/qquickcanvas.cpp @@ -337,6 +337,7 @@ QQuickCanvasPrivate::QQuickCanvasPrivate() , clearBeforeRendering(true) , persistentGLContext(false) , persistentSceneGraph(false) + , lastWheelEventAccepted(false) , renderTarget(0) , renderTargetId(0) , incubationController(0) @@ -1408,10 +1409,16 @@ void QQuickCanvas::wheelEvent(QWheelEvent *event) { Q_D(QQuickCanvas); #ifdef MOUSE_DEBUG - qWarning() << "QQuickCanvas::wheelEvent()" << event->pos() << event->delta() << event->orientation(); + qWarning() << "QQuickCanvas::wheelEvent()" << event->pos() << event->pixelDelta() << event->angleDelta(); #endif + + //if the actual wheel event was accepted, accept the compatability wheel event and return early + if (d->lastWheelEventAccepted && event->angleDelta().isNull()) + return; + event->ignore(); d->deliverWheelEvent(d->rootItem, event); + d->lastWheelEventAccepted = event->isAccepted(); } #endif // QT_NO_WHEELEVENT |