aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickcanvas.cpp
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2012-07-02 10:36:35 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-04 10:12:10 +0200
commit8a80f76fd6591b0553c5e9574a5f04cd3bebb659 (patch)
treee70a366323d0b64722ab4d40fe2cd086a9d16dc2 /src/quick/items/qquickcanvas.cpp
parente10706d393937ccf2c2a33920d66617bacc0e5d7 (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.cpp9
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