aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@jollamobile.com>2014-01-08 17:04:35 +1000
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-09 00:54:55 +0100
commit8673ae8bb6d4bac01cc54638a7d617072299a808 (patch)
treed76fc05c7dfa0a9f041dd9d5afe45bf19e028c40 /src
parent66e72c2cf08c2d2c381c6c22e4760d0df758af52 (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.cpp6
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;