diff options
author | Martin Jones <martin.jones@jollamobile.com> | 2014-01-08 17:04:35 +1000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-09 00:54:55 +0100 |
commit | 8673ae8bb6d4bac01cc54638a7d617072299a808 (patch) | |
tree | d76fc05c7dfa0a9f041dd9d5afe45bf19e028c40 /src | |
parent | 66e72c2cf08c2d2c381c6c22e4760d0df758af52 (diff) |
Fix Flickable generated release event with pressDelay.
Map mouse position to grabber when forwarding release event due to
release before pressDelay timeout.
Task-number: QTBUG-34570
Change-Id: I7214077c9ac95f77407cf66f9dad52f577eccd79
Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
Diffstat (limited to 'src')
-rw-r--r-- | src/quick/items/qquickflickable.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/quick/items/qquickflickable.cpp b/src/quick/items/qquickflickable.cpp index 3b592004c9..7cc37e0556 100644 --- a/src/quick/items/qquickflickable.cpp +++ b/src/quick/items/qquickflickable.cpp @@ -1234,7 +1234,11 @@ void QQuickFlickable::mouseReleaseEvent(QMouseEvent *event) d->replayDelayedPress(); // Now send the release - window()->sendEvent(window()->mouseGrabberItem(), event); + if (window()->mouseGrabberItem()) { + QPointF localPos = window()->mouseGrabberItem()->mapFromScene(event->windowPos()); + QScopedPointer<QMouseEvent> mouseEvent(QQuickWindowPrivate::cloneMouseEvent(event, &localPos)); + window()->sendEvent(window()->mouseGrabberItem(), mouseEvent.data()); + } // And the event has been consumed d->stealMouse = false; |