aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickmousearea.cpp
diff options
context:
space:
mode:
authorWang Chuan <ouchuanm@outlook.com>2019-05-25 15:10:03 +0800
committerouchuan <ouchuanm@outlook.com>2019-05-29 23:13:59 +0800
commit8068e7b98cde09565efe27585b84e120f9c5ea99 (patch)
tree4439a84015ad530920576e79ac3b6ed242f76737 /src/quick/items/qquickmousearea.cpp
parent75895afd7d2b8b6a82838600aabe24f5bb5e4c79 (diff)
QQuickMouseArea: synchronize relative position after dragging
[ChangeLog][QtQuick][QQuickMouseArea] mouseX and mouseY will now be synchronized after dragging the target item Fixes: QTBUG-75993 Change-Id: I0b56f6bd494791f9e2fe55a0cf059a7bad2d63dc Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/items/qquickmousearea.cpp')
-rw-r--r--src/quick/items/qquickmousearea.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp
index 53a5e5df1c..bce7ec718b 100644
--- a/src/quick/items/qquickmousearea.cpp
+++ b/src/quick/items/qquickmousearea.cpp
@@ -761,8 +761,10 @@ void QQuickMouseArea::mouseMoveEvent(QMouseEvent *event)
QPointF targetPos = d->drag->target()->position();
- if (d->drag->active())
+ if (d->drag->active()) {
d->drag->target()->setPosition(boundedDragPos);
+ d->lastPos = d->lastScenePos - mapToScene(position());
+ }
bool dragOverThresholdX = QQuickWindowPrivate::dragOverThreshold(dragPos.x() - startPos.x(),
Qt::XAxis, event, d->drag->threshold());