aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickwindow.cpp
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2016-12-30 11:24:44 +0100
committerShawn Rutledge <shawn.rutledge@qt.io>2016-12-30 10:43:07 +0000
commitf1fa7f18b09cad465867ff036ea500d4e2eda868 (patch)
treeedef93ca9f874f95cbd98391bf76fd6aad47937e /src/quick/items/qquickwindow.cpp
parentc05f596d958349e67c3e3cb89b3bc6d35d2052ea (diff)
QQuickWindowPrivate::deliverMouseEvent: localize to grabber
If we are delivering to an existing pointer handler grabber, it's guaranteed to have a parentItem, and the event needs to be localized to that item before delivery. Change-Id: I440d73a5daed7620283e79a61b956e47f9fce80d Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/quick/items/qquickwindow.cpp')
-rw-r--r--src/quick/items/qquickwindow.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp
index 7aa6d1aa66..0c5f9fe024 100644
--- a/src/quick/items/qquickwindow.cpp
+++ b/src/quick/items/qquickwindow.cpp
@@ -1646,8 +1646,9 @@ void QQuickWindowPrivate::deliverMouseEvent(QQuickPointerMouseEvent *pointerEven
auto point = pointerEvent->point(0);
lastMousePosition = point->scenePos();
- if (point->grabberPointerHandler()) {
- point->grabberPointerHandler()->handlePointerEvent(pointerEvent);
+ if (auto handler = point->grabberPointerHandler()) {
+ pointerEvent->localize(handler->parentItem());
+ handler->handlePointerEvent(pointerEvent);
return;
}