Hide Forgot
Description of problem: This is technically a bug in libXi but needs to be fixed in the server to be backwards compatible with released libXi versions. If a client requests XIQueryVersion(2.0) against a XI2.2 server and then calls XIAllowEvents(), libXi picks the request length based on the version reported by the server, not the client. This request length is different to what the server expects from a XI 2.0 client and it responds with a BadLength error. Version-Release number of selected component (if applicable): xorg-x11-server-1.14.2-9.el7 How reproducible: Display *dpy = XOpenDisplay(NULL); int major = 2, minor = 0; XIQueryVersion(dpy, &major, &minor); assert(minor >= 2); /* need a 2.2 server */ XIAllowEvents(dpy, 2, XIAsyncDevice, CurrentTime); XSync(dpy, False); The code will trigger a BadLength error. Additional info: https://bugs.freedesktop.org/show_bug.cgi?id=68554
MODIFIED xorg-x11-server-1.14.2-10.el7 is available in brew