summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/xkbcommon/Fix-compilation-on-libxcb-1.5.patch
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/xkbcommon/Fix-compilation-on-libxcb-1.5.patch')
-rw-r--r--src/3rdparty/xkbcommon/Fix-compilation-on-libxcb-1.5.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/3rdparty/xkbcommon/Fix-compilation-on-libxcb-1.5.patch b/src/3rdparty/xkbcommon/Fix-compilation-on-libxcb-1.5.patch
new file mode 100644
index 0000000000..691f142e5e
--- /dev/null
+++ b/src/3rdparty/xkbcommon/Fix-compilation-on-libxcb-1.5.patch
@@ -0,0 +1,19 @@
+diff --git a/src/3rdparty/xkbcommon/src/x11/util.c b/src/3rdparty/xkbcommon/src/x11/util.c
+index 92ff2e6..7659c71 100644
+--- a/src/3rdparty/xkbcommon/src/x11/util.c
++++ b/src/3rdparty/xkbcommon/src/x11/util.c
+@@ -198,8 +198,12 @@ adopt_atoms(struct xkb_context *ctx, xcb_connection_t *conn,
+ * sit there waiting. Sad.
+ */
+ err_discard:
+- for (size_t j = i + 1; j < stop; j++)
+- xcb_discard_reply(conn, cookies[j].sequence);
++ for (size_t j = i + 1; j < stop; j++) {
++ if (from[j] != XCB_ATOM_NONE) {
++ reply = xcb_get_atom_name_reply(conn, cookies[j % SIZE], NULL);
++ free(reply);
++ }
++ }
+ return false;
+ }
+ }