aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2020-06-29 10:48:27 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2020-06-29 14:21:39 +0200
commit192609f2f8c2f5d8b48716af2166aaa8ad67e80b (patch)
tree6c7eca89ef002b646f08539b59f243936971604f /src/quick
parent53730c5da89dbfa085778749a3ebd438970ab2c2 (diff)
Fix MouseArea mouseX/mouseY coordinates while dragging
When MouseArea is not anchored with the usual anchors.fill: parent, such that its position is not 0,0, calculating mouseX/mouseY as d->lastScenePos - mapToScene(position()) was wrong. It could be d->lastScenePos - mapToScene(QPointF()), but instead we use mapFromScene(d->lastScenePos) as in a few other places. Amends 8068e7b98cde09565efe27585b84e120f9c5ea99. Pick-to: 5.15 Fixes: QTBUG-85111 Task-number: QTBUG-75993 Change-Id: If1440d05ec3b75d9f9f4802fbc361756fadb559e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/quick')
-rw-r--r--src/quick/items/qquickmousearea.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp
index 9598684e26..b306c0ddf4 100644
--- a/src/quick/items/qquickmousearea.cpp
+++ b/src/quick/items/qquickmousearea.cpp
@@ -749,7 +749,7 @@ void QQuickMouseArea::mouseMoveEvent(QMouseEvent *event)
if (d->drag->active()) {
d->drag->target()->setPosition(boundedDragPos);
- d->lastPos = d->lastScenePos - mapToScene(position());
+ d->lastPos = mapFromScene(d->lastScenePos);
}
bool dragOverThresholdX = QQuickWindowPrivate::dragOverThreshold(dragPos.x() - startPos.x(),