parent
c2a0d75dd0
commit
9bb09d125a
|
@ -1,3 +1,12 @@
|
|||
qtbase-opensource-src (5.15.3+dfsg-ok1.1) yangtze; urgency=medium
|
||||
|
||||
* Bug: Issue#I66RY2
|
||||
* 需求: 无
|
||||
* 其他: 合并patch:1.Del-touch-point-without-target.patch;2.Fix-touch-failure-after-right-click-menu.patch
|
||||
* 影响域:桌面触摸失效
|
||||
|
||||
-- liuyang <liuyang@kylinos.cn> Wed, 4 Jan 2023 16:00:00 +0800
|
||||
|
||||
qtbase-opensource-src (5.15.3+dfsg-ok1) yangtze; urgency=medium
|
||||
|
||||
* Build for openKylin.
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
From: Fnoily <liuyang@kylinos.cn>
|
||||
Date: Wed, 4 Jan 2023 08:46:10 +0000
|
||||
Subject: !1 ISSUE #I66RY2 Merge pull request !1 from Fnoily/openkylin/yangtze
|
||||
|
||||
---
|
||||
src/gui/kernel/qguiapplication.cpp | 3 ++-
|
||||
src/plugins/platforms/xcb/qxcbconnection_xi2.cpp | 4 ++++
|
||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
|
||||
index a95331e..bbdf9ce 100644
|
||||
--- a/src/gui/kernel/qguiapplication.cpp
|
||||
+++ b/src/gui/kernel/qguiapplication.cpp
|
||||
@@ -3061,7 +3061,8 @@ void QGuiApplicationPrivate::processTouchEvent(QWindowSystemInterfacePrivate::To
|
||||
QEvent::Type mouseEventType = QEvent::MouseMove;
|
||||
Qt::MouseButton button = Qt::NoButton;
|
||||
Qt::MouseButtons buttons = Qt::LeftButton;
|
||||
- if (eventType == QEvent::TouchBegin && m_fakeMouseSourcePointId < 0)
|
||||
+ if ((eventType == QEvent::TouchBegin && m_fakeMouseSourcePointId < 0)
|
||||
+ || (touchPoints.count() == 1 && m_fakeMouseSourcePointId != touchPoints.first().id()))
|
||||
m_fakeMouseSourcePointId = touchPoints.first().id();
|
||||
for (const auto &touchPoint : touchPoints) {
|
||||
if (touchPoint.id() == m_fakeMouseSourcePointId) {
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
|
||||
index 27a2526..4674630 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
|
||||
@@ -593,6 +593,10 @@ void QXcbConnection::xi2HandleEvent(xcb_ge_event_t *event)
|
||||
fixed1616ToReal(xiDeviceEvent->root_x), fixed1616ToReal(xiDeviceEvent->root_y),xiDeviceEvent->event);
|
||||
if (QXcbWindow *platformWindow = platformWindowFromId(xiDeviceEvent->event))
|
||||
xi2ProcessTouch(xiDeviceEvent, platformWindow);
|
||||
+ else { // When the window cannot be matched, delete it from touchPoints
|
||||
+ if (TouchDeviceData *dev = touchDeviceForId(xiDeviceEvent->sourceid))
|
||||
+ dev->touchPoints.remove((xiDeviceEvent->detail % INT_MAX));
|
||||
+ }
|
||||
break;
|
||||
}
|
||||
} else if (xiEnterEvent && !xi2MouseEventsDisabled() && eventListener) {
|
|
@ -26,3 +26,4 @@ path_max.diff
|
|||
qstorageinfo_linux.diff
|
||||
cross_build_mysql.diff
|
||||
cast_types_for_egl_x11_test.diff
|
||||
0029-1-ISSUE-I66RY2.patch
|
||||
|
|
Loading…
Reference in New Issue