diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2020-06-29 10:48:27 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2020-06-29 14:21:39 +0200 |
commit | 192609f2f8c2f5d8b48716af2166aaa8ad67e80b (patch) | |
tree | 6c7eca89ef002b646f08539b59f243936971604f /src/quick | |
parent | 53730c5da89dbfa085778749a3ebd438970ab2c2 (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.cpp | 2 |
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(), |