After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 692467 - x11: Add "support" for XI2.3
x11: Add "support" for XI2.3
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: .General
unspecified
Other All
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2013-01-24 20:03 UTC by Jasper St. Pierre (not reading bugmail)
Modified: 2013-01-28 17:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gdkdevicemanager-x11: Always request XI2.2 (1.04 KB, patch)
2013-01-24 20:03 UTC, Jasper St. Pierre (not reading bugmail)
none Details | Review
clutter-backend: Request XI2.3 (1.10 KB, patch)
2013-01-24 20:03 UTC, Jasper St. Pierre (not reading bugmail)
reviewed Details | Review
gdkdevicemanager-x11: Always request XI2.2 (1.32 KB, patch)
2013-01-24 22:50 UTC, Jasper St. Pierre (not reading bugmail)
committed Details | Review
gdkdevicemanager-x11: Request XI2.3 (1.10 KB, patch)
2013-01-24 22:50 UTC, Jasper St. Pierre (not reading bugmail)
committed Details | Review

Description Jasper St. Pierre (not reading bugmail) 2013-01-24 20:03:38 UTC
As XIQueryVersion is broken, we need to bump, yet again.
Comment 1 Jasper St. Pierre (not reading bugmail) 2013-01-24 20:03:40 UTC
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.
Comment 2 Jasper St. Pierre (not reading bugmail) 2013-01-24 20:03:43 UTC
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.
Comment 3 Owen Taylor 2013-01-24 20:17:51 UTC
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)
Comment 4 Owen Taylor 2013-01-24 20:19:16 UTC
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?
Comment 5 Jasper St. Pierre (not reading bugmail) 2013-01-24 22:50:14 UTC
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.
Comment 6 Jasper St. Pierre (not reading bugmail) 2013-01-24 22:50:17 UTC
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.
Comment 7 Owen Taylor 2013-01-28 17:50:07 UTC
Review of attachment 234344 [details] [review]:

Looks good
Comment 8 Owen Taylor 2013-01-28 17:52:53 UTC
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.
Comment 9 Jasper St. Pierre (not reading bugmail) 2013-01-28 17:54:20 UTC
Attachment 234344 [details] pushed as e340049 - gdkdevicemanager-x11: Always request XI2.2
Attachment 234345 [details] pushed as 002ac99 - gdkdevicemanager-x11: Request XI2.3