summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/xkbcommon/src/x11
diff options
context:
space:
mode:
authorGatis Paeglis <gatis.paeglis@digia.com>2014-05-15 13:09:31 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-05-19 15:52:58 +0200
commitba28ca60f66c83a1caa5777d78ffac63e92dfec3 (patch)
treea35698cb67977f98b11e20121639cd366ce8ceaa /src/3rdparty/xkbcommon/src/x11
parentaf16f88e970e3f6ceb32becca6b0e9baa61ae0e9 (diff)
Fix compilation on libxcb 1.5
libxkbcommon-x11 uses xcb_discard_reply() function which was introduced in libxcb 1.6, this brakes the compilation in src/3rdparty/xkbcommon/src/x11/util.c when linking with libxcb 1.5 : linking ../../../../plugins/platforms/libqxcb.so .obj/util.o: In function `adopt_atoms': util.c:(.text+0x347): undefined reference to `xcb_discard_reply' collect2: error: ld returned 1 exit status We can use an alternative approach to discard uncollected replies and in addition add a fix for out-of-bounds error [1] [1] https://github.com/xkbcommon/libxkbcommon/commit/e3f751be660e28e48d1477660e99e5456c864296 Task-number: QTBUG-38952 Change-Id: Ide90f9a2e75fc79d2bab0b81adb282c8cc81c345 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Diffstat (limited to 'src/3rdparty/xkbcommon/src/x11')
-rw-r--r--src/3rdparty/xkbcommon/src/x11/util.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/3rdparty/xkbcommon/src/x11/util.c b/src/3rdparty/xkbcommon/src/x11/util.c
index 92ff2e630e..7659c711a2 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;
}
}