aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickflickable.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickflickable.cpp')
-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;