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; } }