diff options
Diffstat (limited to 'src/3rdparty/xkbcommon')
-rw-r--r-- | src/3rdparty/xkbcommon/Fix-compilation-on-libxcb-1.5.patch | 19 | ||||
-rw-r--r-- | src/3rdparty/xkbcommon/src/x11/util.c | 8 |
2 files changed, 25 insertions, 2 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; + } + } 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; } } |