Merge lp://staging/~bregma/geis/lp-741404 into lp://staging/geis

Proposed by Stephen M. Webb
Status: Merged
Merged at revision: 136
Proposed branch: lp://staging/~bregma/geis/lp-741404
Merge into: lp://staging/geis
Diff against target: 132 lines (+56/-2)
4 files modified
ChangeLog (+8/-0)
configure.ac (+6/-2)
libutouch-geis/backend/xcb/geis_xcb_backend.c (+6/-0)
m4/ax_enable_xi2.m4 (+36/-0)
To merge this branch: bzr merge lp://staging/~bregma/geis/lp-741404
Reviewer Review Type Date Requested Status
Chase Douglas (community) Approve
Henrik Rydberg (community) Approve
Duncan McGreggor (community) Needs Information
Review via email: mp+57420@code.staging.launchpad.net

Description of the change

Makes direct use of XI2.1 code optional at compile time.

Some downstream distributions stopped being able to compile when the XI2.1 stuff went in. This will restore buildability at the cost of device enumeration. The default configuration is to enable and build with XI2.1 support. Support can either be disabled through configure or automatically if XI2.1 is not available on the build system.

To post a comment you must log in.
Revision history for this message
Duncan McGreggor (oubiwann) wrote :

"This will restore buildability at the cost of device enumeration."

Stephen, could you elaborate a little more on the reason for device enumeration being "lost"?

And to clarify:

Device will continue to work if XI2.1 is available and support for it is compiled, yes?

review: Needs Information
Revision history for this message
Henrik Rydberg (rydberg) wrote :

Are the two ways to test for the hidden attribute equivalent? If so, perhaps it should be saved for oneiric?

review: Needs Information
Revision history for this message
Stephen M. Webb (bregma) wrote :

> "This will restore buildability at the cost of device enumeration."
>
> Stephen, could you elaborate a little more on the reason for device
> enumeration being "lost"?

Absolutely.

Utouch-geis uses XI2.1 calls to the X server to enumerate the available multi-touch capable input devices. The functionality available through XI2.1 is an API-breaking change currently available only in Ubuntu 11.04 and later or those other distributions willing to port the Ubuntu-specific x.org patches.

The API breakage is in the x.org client library headers but also requires an ABI breakage in the entire x.org stack. Some distributions wish to take advantage of uTouch as it worked in Ubuntu 10.10 and the added functionality delivered by XI2.1 is not necessary for that.

This change makes the use of the API-breaking changes configurable at compile time for those downstream consumers who have been unable to build utouch-geis since version 2.0.4.

> And to clarify:
>
> Device will continue to work if XI2.1 is available and support for it is
> compiled, yes?

Functionality on Ubuntu will continue to work as before. Use of XI2.1 is enabled by default in development systems that support it unless steps are take to disable it with --disable-xi2.1 when running configure.

Revision history for this message
Stephen M. Webb (bregma) wrote :

> Are the two ways to test for the hidden attribute equivalent? If so, perhaps
> it should be saved for oneiric?

I'm not sure I understand this question. Do you mean utouch-geis should talk to the kernel of the host on which it's running to determine the capabilities of local hardware as an alternative to querying the X server if that choice is not available at compile time? That's possible as an add-on, but the changes in this merge would still be required.

This change is not targeted at Ubuntu. It does not need to get in to natty. It is for other downstream consumers of utouch-geis.

Revision history for this message
Henrik Rydberg (rydberg) wrote :

I was referring to lines 33-38 in the diff. Either way, since this is general development, no problem.

review: Approve
Revision history for this message
Chase Douglas (chasedouglas) wrote :

Looks good to me too!

review: Approve
Revision history for this message
Stephen M. Webb (bregma) wrote :

> I was referring to lines 33-38 in the diff. Either way, since this is general
> development, no problem.

Ah, I understand now.

AC_TRY_COMPILE is deprecated in autoconf in favour of AC_COMPILE_IFELSE. Since I was using the newer construct elsewhere I though I'd just go for consistency. The two compile tests are functionally equivalent in this case.

lp://staging/~bregma/geis/lp-741404 updated
135. By Stephen M. Webb

Fix a persistence problem with callbacks in the simplified interface (LP: #754135).

136. By Stephen M. Webb

Make direct use of XI2,1 code optional at compile time (LP: #741404)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches