commit
9a2751b91b
|
@ -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
|
qtbase-opensource-src (5.15.3+dfsg-ok1) yangtze; urgency=medium
|
||||||
|
|
||||||
* Build for openKylin.
|
* Build for openKylin.
|
||||||
|
|
|
@ -3061,7 +3061,8 @@ void QGuiApplicationPrivate::processTouchEvent(QWindowSystemInterfacePrivate::To
|
||||||
QEvent::Type mouseEventType = QEvent::MouseMove;
|
QEvent::Type mouseEventType = QEvent::MouseMove;
|
||||||
Qt::MouseButton button = Qt::NoButton;
|
Qt::MouseButton button = Qt::NoButton;
|
||||||
Qt::MouseButtons buttons = Qt::LeftButton;
|
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();
|
m_fakeMouseSourcePointId = touchPoints.first().id();
|
||||||
for (const auto &touchPoint : touchPoints) {
|
for (const auto &touchPoint : touchPoints) {
|
||||||
if (touchPoint.id() == m_fakeMouseSourcePointId) {
|
if (touchPoint.id() == m_fakeMouseSourcePointId) {
|
||||||
|
|
|
@ -593,6 +593,10 @@ void QXcbConnection::xi2HandleEvent(xcb_ge_event_t *event)
|
||||||
fixed1616ToReal(xiDeviceEvent->root_x), fixed1616ToReal(xiDeviceEvent->root_y),xiDeviceEvent->event);
|
fixed1616ToReal(xiDeviceEvent->root_x), fixed1616ToReal(xiDeviceEvent->root_y),xiDeviceEvent->event);
|
||||||
if (QXcbWindow *platformWindow = platformWindowFromId(xiDeviceEvent->event))
|
if (QXcbWindow *platformWindow = platformWindowFromId(xiDeviceEvent->event))
|
||||||
xi2ProcessTouch(xiDeviceEvent, platformWindow);
|
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;
|
break;
|
||||||
}
|
}
|
||||||
} else if (xiEnterEvent && !xi2MouseEventsDisabled() && eventListener) {
|
} else if (xiEnterEvent && !xi2MouseEventsDisabled() && eventListener) {
|
||||||
|
|
Loading…
Reference in New Issue