xcb: Fix touch grab handling on pre-XI 2.2

This is only a theoretical bug fix because systems that don't support XI
2.2 are ten years old by now.

Change-Id: Ia3770a6ca626b60d0f1e4cd2fdc611adf99cbf25
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
bb10
Povilas Kanapickas 2021-05-30 19:00:28 +03:00
parent 20feedac95
commit f6b149fffb
1 changed files with 6 additions and 4 deletions

View File

@ -929,10 +929,12 @@ bool QXcbConnection::xi2SetMouseGrabEnabled(xcb_window_t w, bool grab)
| XCB_INPUT_XI_EVENT_MASK_BUTTON_RELEASE
| XCB_INPUT_XI_EVENT_MASK_MOTION
| XCB_INPUT_XI_EVENT_MASK_ENTER
| XCB_INPUT_XI_EVENT_MASK_LEAVE
| XCB_INPUT_XI_EVENT_MASK_TOUCH_BEGIN
| XCB_INPUT_XI_EVENT_MASK_TOUCH_UPDATE
| XCB_INPUT_XI_EVENT_MASK_TOUCH_END;
| XCB_INPUT_XI_EVENT_MASK_LEAVE;
if (isAtLeastXI22()) {
mask |= XCB_INPUT_XI_EVENT_MASK_TOUCH_BEGIN;
mask |= XCB_INPUT_XI_EVENT_MASK_TOUCH_UPDATE;
mask |= XCB_INPUT_XI_EVENT_MASK_TOUCH_END;
}
for (int id : qAsConst(m_xiMasterPointerIds)) {
xcb_generic_error_t *error = nullptr;