diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2016-12-30 11:24:44 +0100 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2016-12-30 10:43:07 +0000 |
commit | f1fa7f18b09cad465867ff036ea500d4e2eda868 (patch) | |
tree | edef93ca9f874f95cbd98391bf76fd6aad47937e /src/quick/items/qquickwindow.cpp | |
parent | c05f596d958349e67c3e3cb89b3bc6d35d2052ea (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.cpp | 5 |
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; } |