QQuickWindow: handle QWheelEvent::phase
authorJ-P Nurmi <jpnurmi@digia.com>
Sun, 4 Aug 2013 22:28:25 +0000 (00:28 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 19 Aug 2013 18:23:27 +0000 (20:23 +0200)
Change-Id: Id2540caae7e5703d352d0cb115529b1be1c21d96
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
src/quick/items/qquickwindow.cpp

index d209cb5..962b984 100644 (file)
@@ -1509,7 +1509,7 @@ bool QQuickWindowPrivate::deliverWheelEvent(QQuickItem *item, QWheelEvent *event
 
     if (item->contains(p)) {
         QWheelEvent wheel(p, p, event->pixelDelta(), event->angleDelta(), event->delta(),
-                          event->orientation(), event->buttons(), event->modifiers());
+                          event->orientation(), event->buttons(), event->modifiers(), event->phase());
         wheel.accept();
         q->sendEvent(item, &wheel);
         if (wheel.isAccepted()) {
@@ -1530,7 +1530,7 @@ void QQuickWindow::wheelEvent(QWheelEvent *event)
 #endif
 
     //if the actual wheel event was accepted, accept the compatibility wheel event and return early
-    if (d->lastWheelEventAccepted && event->angleDelta().isNull())
+    if (d->lastWheelEventAccepted && event->angleDelta().isNull() && event->phase() == Qt::ScrollUpdate)
         return;
 
     event->ignore();