XKB: fix XkbGetKeyboardByName with Xming server
XkbGetKeyboardByName relies on flags to read the data from the server.
If the X server sends us the wrong flags or if a subreply is smaller
than it should be, XkbGetKeyboardByName will not read all the available
data and leave data in the buffer, which will cause the next _XReply()
to fail with:
[xcb] Extra reply data still left in queue
[xcb] This is most likely caused by a broken X extension library
[xcb] Aborting, sorry about that.
xcb_io.c:576: _XReply: Assertion `!xcb_xlib_extra_reply_data_left' failed.
Aborted
Check if there is some extra data left at the end of
XkbGetKeyboardByName() and discard that data if any is found.
Many thanks to Peter Hutterer <peter.hutterer@who-t.net> for finding the
root cause of the issue and Adam Jackson <ajax@redhat.com> for helping
with the analysis!
Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by:
Daniel Stone <daniels@collabora.com>
Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net>
Backported-to-NX-by:
Ulrich Sibiller <uli42@gmx.de>
Showing
Please
register
or
sign in
to comment