summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorPovilas Kanapickas <povilas@radix.lt>2021-05-30 19:00:28 +0300
committerPovilas Kanapickas <povilas@radix.lt>2021-06-01 21:25:33 +0300
commitf6b149fffbe650cb37e8602f46a0b6a2db32fb60 (patch)
treef244c6c61d94ee13c73371795911fc1d327dfee8 /src/plugins
parent20feedac95c519c71d4db93ab28ad1a110dfbcca (diff)
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>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_xi2.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
index 1f45f6dc80..9abdfd422b 100644
--- a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
+++ b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
@@ -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;