aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qquickdeliveryagent.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/util/qquickdeliveryagent.cpp')
-rw-r--r--src/quick/util/qquickdeliveryagent.cpp10
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()))