diff options
Diffstat (limited to 'src/quick/util/qquickdeliveryagent.cpp')
-rw-r--r-- | src/quick/util/qquickdeliveryagent.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/quick/util/qquickdeliveryagent.cpp b/src/quick/util/qquickdeliveryagent.cpp index 098e215829..10ce45e2cf 100644 --- a/src/quick/util/qquickdeliveryagent.cpp +++ b/src/quick/util/qquickdeliveryagent.cpp @@ -931,12 +931,16 @@ bool QQuickDeliveryAgentPrivate::sendHoverEvent(QEvent::Type type, QQuickItem *i Qt::KeyboardModifiers modifiers, ulong timestamp, bool accepted) { - const QTransform transform = QQuickItemPrivate::get(item)->windowToItemTransform(); - - //create copy of event + auto itemPrivate = QQuickItemPrivate::get(item); + const QTransform transform = itemPrivate->windowToItemTransform(); QHoverEvent hoverEvent(type, transform.map(scenePos), transform.map(lastScenePos), modifiers); hoverEvent.setTimestamp(timestamp); hoverEvent.setAccepted(accepted); + const QTransform transformToGlobal = itemPrivate->windowToGlobalTransform(); + QMutableEventPoint &point = QMutableEventPoint::from(hoverEvent.point(0)); + point.setScenePosition(scenePos); + point.setGlobalPosition(transformToGlobal.map(scenePos)); + point.setGlobalLastPosition(transformToGlobal.map(lastScenePos)); hasFiltered.clear(); if (sendFilteredMouseEvent(&hoverEvent, item, item->parentItem())) |