summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/xcb/README
diff options
context:
space:
mode:
authorPovilas Kanapickas <povilas@radix.lt>2021-09-03 16:23:06 +0300
committerPovilas Kanapickas <povilas@radix.lt>2021-09-20 23:10:26 +0300
commit2d5541d6c30c67d6a469cba372b6e336a2eeb626 (patch)
treecbe11b76fc55d44370ccf138d41ca655ec05d3fa /src/3rdparty/xcb/README
parent1479f057f3861ff9bdbbaee7b1f495512c64efbc (diff)
3rdparty: Fix forwards-compatibility bug in bundled xinput xcb module
libxcb thinks that it knows about all device class types sent by the X server XInput extension. With the addition of touchpad gestures in XInput 2.4 and X server 21.1 this is no longer the case and libxcb fails horribly by thinking that the protocol was malformed. The X server currently has a workaround, but it would not address the following situation: - there are multiple modules within the same X client (e.g. part of the application uses Qt, another part talks to X server via another library) - both of the modules talk to XI - at least one module requests for XI 2.4 protocol support. The request for XI 2.4 disables the workaround on the X server and Qt side would crash horribly. This bug is being fixed upstream in these MRs: https://gitlab.freedesktop.org/xorg/proto/xcbproto/-/merge_requests/23 https://gitlab.freedesktop.org/xorg/lib/libxcb/-/merge_requests/20 Change-Id: Idf345271340031152b512ef59f619313be5ec226 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/3rdparty/xcb/README')
-rw-r--r--src/3rdparty/xcb/README24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/3rdparty/xcb/README b/src/3rdparty/xcb/README
index 362fa54bf8..a97d883867 100644
--- a/src/3rdparty/xcb/README
+++ b/src/3rdparty/xcb/README
@@ -20,3 +20,27 @@ The xcb-xinput files where modified to use system includes, see:
src/3rdparty/xcb/include/xcb/fixup-xinput-h.patch
src/3rdparty/xcb/libxcb/fixup-xinput-c.patch
+*****************************************************************
+
+Additionally, a forwards compatibility bug in libxcb xinput has been addressed
+by the following patch:
+
+src/3rdparty/xcb/libxcb/xinput-device-class-sizeof.patch
+
+The crux of the issue is that libxcb thinks that it knows about all device
+class types sent by the X server XInput extension. With the addition of
+touchpad gestures in XInput 2.4 and X server 21.1 this is no longer the case
+and libxcb fails horribly by thinking that the protocol was malformed.
+
+The X server currently has a workaround, but it would not address the following
+situation:
+
+ - there are multiple modules within the same X client (e.g. part of the application
+ uses Qt, another part talks to X server via another library)
+ - both of the modules talk to XI
+ - at least one module requests for XI 2.4 protocol support.
+
+The request for XI 2.4 disables the workaround on the X server and Qt side would
+crash horribly.
+
+For more details, see https://gitlab.freedesktop.org/xorg/lib/libxcb/-/merge_requests/20