From 0c368a5e88eaeafe17b862ac90bc3852d04ea811 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Mon, 2 Jul 2012 11:50:15 +1000 Subject: Report correct mouse position when made visible with hoverEnabled. Task-number: QTBUG-24282 Change-Id: I778b2db18c28e2b33690531ec19eb24ecf444a38 Reviewed-by: Martin Jones --- src/quick/items/qquickmousearea.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/quick/items/qquickmousearea.cpp') diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp index 6897e3d904..a2522a4f47 100644 --- a/src/quick/items/qquickmousearea.cpp +++ b/src/quick/items/qquickmousearea.cpp @@ -47,6 +47,8 @@ #include +#include + #include #include #include @@ -1057,8 +1059,14 @@ void QQuickMouseArea::itemChange(ItemChange change, const ItemChangeData &value) Q_D(QQuickMouseArea); switch (change) { case ItemVisibleHasChanged: - if (acceptHoverEvents() && d->hovered != (isVisible() && isUnderMouse())) + if (acceptHoverEvents() && d->hovered != (isVisible() && isUnderMouse())) { + if (!d->hovered) { + QPointF cursorPos = QGuiApplicationPrivate::lastCursorPosition; + d->lastScenePos = d->canvas->mapFromGlobal(cursorPos.toPoint()); + d->lastPos = mapFromScene(d->lastScenePos); + } setHovered(!d->hovered); + } break; default: break; -- cgit v1.2.3