GNOME Bugzilla – Bug 692467
x11: Add "support" for XI2.3
Last modified: 2013-01-28 17:54:25 UTC
As XIQueryVersion is broken, we need to bump, yet again.
Created attachment 234323 [details] [review] gdkdevicemanager-x11: Always request XI2.2 The X server should fill in the minor version that it supports in the case where it only supports the older version. We should not get a BadRequest or fail the version check if we pass something higher.
Created attachment 234324 [details] [review] clutter-backend: Request XI2.3 Since XIQueryVersion, the bad API that it is, enforces the version from the first client that requests it, for clients to be able to use the new features in XI2.3, we need to ensure that we pass XIQueryVersion 2.3 as the version that we support, knowing fully well that Clutter won't be confused by the new features.
Review of attachment 234323 [details] [review]: The commit message doesn't make any sense. The #ifdef check was never for server - it was for library version. In terms of the library, from IRC logs: Jan 23 17:10:41 <whot> libXi had a bug that it choked on new events, but that got fixed. current versions shouldn't have that problem we should try and identify that bug fix and see if it matters - if it's old enough we can just hard-require the newer version in configure.in to define XINPUT_2 (Wonder why configure.ac just doesnt' use pkg-config to check versions rather than AC_CHECK_HEADER, AC_CHECK_FUNC, etc, cruft)
Review of attachment 234324 [details] [review]: > knowing fully well that Clutter won't be confused by the new features. I'm not quite sure how to interpret this - is Clutter what you meant or a typo?
Created attachment 234344 [details] [review] gdkdevicemanager-x11: Always request XI2.2 The X server should fill in the minor version that it supports in the case where it only supports the older version, so we can safely always pass a higher version number than is potentially supported by the server. libXi was designed to be stable in the case where it doesn't recognize requests or events/replies, so this should still work in a case where we have new versions of the X server, and GTK+, but an old version of libXi, at least for however well that setup should work.
Created attachment 234345 [details] [review] gdkdevicemanager-x11: Request XI2.3 Since XIQueryVersion, the bad API that it is, enforces the version from the first client that requests it, for clients to be able to use the new features in XI2.3, we need to ensure that we pass XIQueryVersion 2.3 as the version that we support, knowing fully well that GTK+ won't be confused by the new features.
Review of attachment 234344 [details] [review]: Looks good
Review of attachment 234345 [details] [review]: Would be a little clearer with s/, knowing fully well/. We know that/. to me "knowing fully well" implies that the thing we know is a negative accepted consequence - "I dashed across the street, knowing full well I could be hit by the speeding cars" But in any case, fine.
Attachment 234344 [details] pushed as e340049 - gdkdevicemanager-x11: Always request XI2.2 Attachment 234345 [details] pushed as 002ac99 - gdkdevicemanager-x11: Request XI2.3