From 8068e7b98cde09565efe27585b84e120f9c5ea99 Mon Sep 17 00:00:00 2001 From: Wang Chuan Date: Sat, 25 May 2019 15:10:03 +0800 Subject: 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 --- tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'tests/auto/quick/qquickmousearea') diff --git a/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp b/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp index 52d1458a53..4215017db3 100644 --- a/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp +++ b/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp @@ -393,10 +393,20 @@ void tst_QQuickMouseArea::dragging() QTRY_COMPARE(blackRect->x(), 61.0); QCOMPARE(blackRect->y(), 61.0); + qreal relativeX = mouseRegion->mouseX(); + qreal relativeY = mouseRegion->mouseY(); + for (int i = 0; i < 20; i++) { + p += QPoint(1, 1); + QTest::mouseMove(&window, p); + } + QTRY_VERIFY(drag->active()); + QTRY_COMPARE(mouseRegion->mouseX(), relativeX); + QCOMPARE(mouseRegion->mouseY(), relativeY); + QTest::mouseRelease(&window, button, Qt::NoModifier, p); QTRY_VERIFY(!drag->active()); - QTRY_COMPARE(blackRect->x(), 61.0); - QCOMPARE(blackRect->y(), 61.0); + QTRY_COMPARE(blackRect->x(), 81.0); + QCOMPARE(blackRect->y(), 81.0); } void tst_QQuickMouseArea::dragSmoothed() -- cgit v1.2.3