[PATCH] 1.Del-touch-point-without-target.patch
2.Fix-touch-failure-after-right-click-menu.patch
This commit is contained in:
parent
c205944890
commit
e62a8a4709
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue