diff options
Diffstat (limited to 'src/quick/items/qquickflickable.cpp')
-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; |