Propagate the accepted flag back in QQuickWidget mouse handlers
authorLaszlo Agocs <laszlo.agocs@digia.com>
Thu, 14 Aug 2014 12:08:34 +0000 (14:08 +0200)
committerLaszlo Agocs <laszlo.agocs@digia.com>
Thu, 14 Aug 2014 13:20:32 +0000 (15:20 +0200)
Task-number: QTBUG-40784
Change-Id: Ieff4b38358f241aebeb16ec877e05179b01cc004
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
src/quickwidgets/qquickwidget.cpp

index ab4ccd7..446ed1c 100644 (file)
@@ -950,6 +950,7 @@ void QQuickWidget::mouseMoveEvent(QMouseEvent *e)
     // because QQuickWindow thinks of itself as a top-level window always.
     QMouseEvent mappedEvent(e->type(), e->localPos(), e->screenPos(), e->button(), e->buttons(), e->modifiers());
     QCoreApplication::sendEvent(d->offscreenWindow, &mappedEvent);
+    e->setAccepted(mappedEvent.isAccepted());
 }
 
 /*! \reimp */
@@ -963,6 +964,7 @@ void QQuickWidget::mouseDoubleClickEvent(QMouseEvent *e)
     QMouseEvent pressEvent(QEvent::MouseButtonPress, e->localPos(), e->screenPos(), e->button(),
                            e->buttons(), e->modifiers());
     QCoreApplication::sendEvent(d->offscreenWindow, &pressEvent);
+    e->setAccepted(pressEvent.isAccepted());
     QMouseEvent mappedEvent(e->type(), e->localPos(), e->screenPos(), e->button(), e->buttons(),
                             e->modifiers());
     QCoreApplication::sendEvent(d->offscreenWindow, &mappedEvent);
@@ -992,6 +994,7 @@ void QQuickWidget::mousePressEvent(QMouseEvent *e)
 
     QMouseEvent mappedEvent(e->type(), e->localPos(), e->screenPos(), e->button(), e->buttons(), e->modifiers());
     QCoreApplication::sendEvent(d->offscreenWindow, &mappedEvent);
+    e->setAccepted(mappedEvent.isAccepted());
 }
 
 /*! \reimp */
@@ -1002,6 +1005,7 @@ void QQuickWidget::mouseReleaseEvent(QMouseEvent *e)
 
     QMouseEvent mappedEvent(e->type(), e->localPos(), e->screenPos(), e->button(), e->buttons(), e->modifiers());
     QCoreApplication::sendEvent(d->offscreenWindow, &mappedEvent);
+    e->setAccepted(mappedEvent.isAccepted());
 }
 
 #ifndef QT_NO_WHEELEVENT