From 4fccf34ac71bd65d10d74c0b00446c4a6d40043f Mon Sep 17 00:00:00 2001 From: Harunobu Kurokawa Date: Tue, 6 Aug 2019 13:07:20 +0900 Subject: [PATCH] qtlocation: Fix unstable rotation using pinch zoom This patch is merged in 5.11 branch, however it was not in 5.11.3. https://codereview.qt-project.org/c/qt/qtlocation/+/244889 Bug-AGL: SPEC-2709 Change-Id: I90a914b1a1fd21b1a181a50749ed91e90960021d Signed-off-by: Harunobu Kurokawa Signed-off-by: Scott Murray --- .../0001-Fix-unstable-rotation-gesture.patch | 30 ++++++++++++++++++++++ recipes-qt/qt5/qtlocation_git.bbappend | 5 ++++ 2 files changed, 35 insertions(+) create mode 100644 recipes-qt/qt5/qtlocation/0001-Fix-unstable-rotation-gesture.patch create mode 100644 recipes-qt/qt5/qtlocation_git.bbappend diff --git a/recipes-qt/qt5/qtlocation/0001-Fix-unstable-rotation-gesture.patch b/recipes-qt/qt5/qtlocation/0001-Fix-unstable-rotation-gesture.patch new file mode 100644 index 000000000..164c9f0e5 --- /dev/null +++ b/recipes-qt/qt5/qtlocation/0001-Fix-unstable-rotation-gesture.patch @@ -0,0 +1,30 @@ +From 85df79b094d1097108a28424d6f9b3b76b3aee62 Mon Sep 17 00:00:00 2001 +From: Tasuku Suzuki +Date: Thu, 8 Nov 2018 15:26:57 +0900 +Subject: [PATCH] Fix unstable rotation gesture + +Order of touch events are not sorted on some platform. When touch point +1 and +2 are swapped, map is rotated 180 degrees in a moment + +Change-Id: I9c308b805a6ca54519f26a9ff19217de7f947c17 +Reviewed-by: Paolo Angelelli +--- + src/location/declarativemaps/qquickgeomapgesturearea.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/location/declarativemaps/qquickgeomapgesturearea.cpp b/src/location/declarativemaps/qquickgeomapgesturearea.cpp +index c6f4b42..576aeee 100644 +--- a/src/location/declarativemaps/qquickgeomapgesturearea.cpp ++++ b/src/location/declarativemaps/qquickgeomapgesturearea.cpp +@@ -1087,6 +1087,7 @@ void QQuickGeoMapGestureArea::update() + m_allPoints << m_touchPoints; + if (m_allPoints.isEmpty() && !m_mousePoint.isNull()) + m_allPoints << *m_mousePoint.data(); ++ std::sort(m_allPoints.begin(), m_allPoints.end(), [](const QTouchEvent::TouchPoint &tp1, const QTouchEvent::TouchPoint &tp2) { return tp1.id() < tp2.id(); }); + + touchPointStateMachine(); + +-- +2.7.4 + diff --git a/recipes-qt/qt5/qtlocation_git.bbappend b/recipes-qt/qt5/qtlocation_git.bbappend new file mode 100644 index 000000000..e0f3a6b2e --- /dev/null +++ b/recipes-qt/qt5/qtlocation_git.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" + +SRC_URI += " \ + file://0001-Fix-unstable-rotation-gesture.patch \ +" -- 2.16.6