Geis delivers events from gestures that no longer exist

Bug #1001365 reported by Daniel d'Andrada
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Geis
Fix Released
Low
Daniel d'Andrada
geis (Ubuntu)
Fix Released
Low
Unassigned
Precise
Fix Released
Low
Francis Ginther

Bug Description

We need this fix backported from Quantal as it's in the code that was changed to the new naming scheme, from utouch-geis to just geis, that must be done in Precise as well.

[Test Case]

Steps to reproduce the problem:
   - Disable atomic gestures rules.
   - Subscribe for 2-touches Touch gestures.
   - Move 4 simultaneous touch points on a touchscreen (in an environment where no other process/client would intercept those touches).
   - Check that 6 different 2-touch Touch gestures begin.
   - Accept two of them that are not overlapping (i.e. that have no common touch point between the two) and reject any others.

Expected outcome:
  If you happen to get a "Gesture Begin" from a gesture that overlaps one that was already accepted, you can successfully reject it.

Actual oucome:
  You get "Gesture Begin" and "Gesture Update" events from gestures that overlaps the ones were already accepted and if you try to reject them the call fails.

[Comments]

utouch-geis keeps in its event queue (and therefore ends up delivering them) events from gestures that no longer exist (gestures that overlap an accepted one are automatically canceled), hence the failure when you try to reject them.

[Regression Potential]

A regression was found later on, after further use and testing, and already fixed. It's the fix for bug 1015775. Thus I believe we can safely say that the regression potential now is minimal.

Related branches

Changed in utouch-geis:
importance: Undecided → Low
assignee: nobody → Daniel d'Andrada (dandrader)
status: New → In Progress
Changed in utouch-geis:
status: In Progress → Fix Committed
Changed in utouch-geis (Ubuntu):
importance: Undecided → Low
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package utouch-geis - 2.2.10-0ubuntu1

---------------
utouch-geis (2.2.10-0ubuntu1) quantal-proposed; urgency=low

  * New upstream release v2.2.10.
    - fixes pinch radius and drag delta calculations (lp: #985916) (lp: #986215)
    - changes type of geisSubscriptionFlags (lp: #813819)
    - changes direct devices to use window coordinates (lp: #984069)
    - reports device axis extents, if available (lp: #987539)
    - removes overlapping events when a gesture is accepted (lp: #1001365)
    - avoids trying to start a DBus session if there is none already
      (lp: #997630)
    - removes XCB back end
    - adds GEIS_EVENT_ATTRIBUTE_CONSTRUCTION_FINISHED event
    - adds a compile-time sentinel check to variadic calls in the API
 -- <email address hidden> (Stephen M. Webb) Wed, 06 Jun 2012 09:51:23 -0400

Changed in utouch-geis (Ubuntu):
status: New → Fix Released
Changed in utouch-geis:
status: Fix Committed → Fix Released
affects: utouch-geis (Ubuntu) → geis (Ubuntu)
Changed in geis (Ubuntu Precise):
status: New → In Progress
importance: Undecided → Low
assignee: nobody → Francis Ginther (fginther)
description: updated
Revision history for this message
Adam Conrad (adconrad) wrote : Please test proposed package

Hello Daniel, or anyone else affected,

Accepted geis into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/geis/2.2.9.1-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in geis (Ubuntu Precise):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Chase Douglas (chasedouglas) wrote :

The fix for this issue caused a regression: bug 1047596. This will be fixed in subsequent uploads to precise and quantal.

tags: added: regression-proposed
removed: verification-needed
Revision history for this message
Adam Conrad (adconrad) wrote :

Hello Daniel, or anyone else affected,

Accepted geis into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/geis/2.2.9.2-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-needed
tags: removed: regression-proposed
Revision history for this message
Daniel d'Andrada (dandrader) wrote :

I ran the regression test made for this bug against the libgeis
2.2.9.2-0ubuntu1 present in precise-proposed and it passed.

Also gestures in unity still work as they should, thus no outstanding
regressions were seen.

Therefore marking as verified.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Adam Conrad (adconrad) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package geis - 2.2.9.2-0ubuntu1

---------------
geis (2.2.9.2-0ubuntu1) precise-proposed; urgency=low

  * New upstream release. Only change is the following bug fix:
    - Fixes regression that caused GEISv1 clients, such as Unity, to not work
      (LP: #1047596)

geis (2.2.9.1-0ubuntu1) precise-proposed; urgency=low

  * Update debian/watch file for new project name
  * New upstream release.
    - removes XCB back end
    - removes overlapping events when a gesture is accepted (lp: #1001365)
    - fix for excessive timeout on backend init failure (lp: #997630)
    - detect added devices properly (LP: #1009270)
    - fix crash when accepting a gesture (LP: #1015775)
    - fix result value of geis_subscription_deactivate() (LP: #1021448)
    - upstream project renamed to just 'geis'
  * Update packaging for project rename (LP: #1037621)
    - Added Conflicts and Replaces clauses for libgeis-dev, libgeis-doc,
      python-geis and geis-tools
  * Remove patches that have been integrated into upstream
    - remove lp813819-typedef-geis-subscription-flags.patch
    - remove lp985986-fix-touch-delta-calculation.patch
    - remove lp986215-calculate-pinch-delta-as-ratio.patch
    - remove lp987539-add-device-axis-attributes.patch
    - remove lp997630-avoid-starting-dbus-session-on-remote-connection.patch
    - remove fix-touch-coordinate-space.patch (patch for lp984069)
 -- Chase Douglas <email address hidden> Fri, 07 Sep 2012 14:11:40 -0700

Changed in geis (Ubuntu Precise):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.