quick, single-finger, taps not correctly processed

Bug #1020315 reported by Daniel d'Andrada
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Grail
Fix Released
High
Daniel d'Andrada
grail (Ubuntu)
Fix Released
Undecided
Unassigned
Precise
Fix Released
Medium
Francis Ginther

Bug Description

[Impact]
Proper usage of grail gestures requires processing gestures only after they have finished "construction". Software, such as Unity, waits for this event in order to handle gestures properly. When the event does not occur, a grail gesture may be left unaccepted and unrejected, which may cause the touch interface to "hang" and become unresponsive to future taps. This bug causes grail to not emit a construction finished event under certain circumstances.

[Test Case]
Preconditions:
  - Activate a subscription for single-touch gestures of class "Touch".
  - There should be no other application with higher priority for getting ownership over the touches.

Steps to reproduce the problem:
 1 - Perform a quick tap on a touchscreen.
    - That will produce 3 utouch-frame events
      a) a frame begin with owned == false
      b) a frame update with owned == true
      c) a frame end

Expected outcome:
 The following slice events should be sent by grail:
   1. Slice Begin, construction finished == false
   2. Slice Update, construction finished == false
   3. Slice End, construction finished == true

Actual outcome:
 The following slice events are sent by grail:
   1. Slice Begin, construction finished == false
   2. Slice Update, construction finished == false
   3. Slice Update, construction finished == false

There is currently no code released that performs these steps. However, there is code in development for Unity that causes this behavior. One of the gesture stack developers will need to verify this bug is fixed.

[Regression Potential]
Small. The source code changes are minimal; a couple function calls are reordered so they behave properly. The rest of the changes introduce a test mock framework and a regression test for this issue. All previous functional and regression tests cases continue to pass.

Areas of concern for testing is whether gestures continue to operate properly, and whether touchscreens become unresponsive after gestural or pointer interactions.

Related branches

Changed in utouch-grail:
assignee: nobody → Daniel d'Andrada (dandrader)
importance: Undecided → High
status: New → In Progress
Changed in utouch-grail:
status: In Progress → Fix Committed
Changed in utouch-grail:
milestone: none → 3.0.6
status: Fix Committed → Fix Released
affects: utouch-grail (Ubuntu) → grail (Ubuntu)
Changed in grail (Ubuntu):
status: New → Fix Released
description: updated
description: updated
Changed in grail (Ubuntu Precise):
importance: Undecided → Medium
assignee: nobody → Francis Ginther (fginther)
status: New → In Progress
Revision history for this message
Adam Conrad (adconrad) wrote : Please test proposed package

Hello Daniel, or anyone else affected,

Accepted grail into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/grail/3.0.6-0ubuntu0.12.04.01 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 grail (Ubuntu Precise):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Chase Douglas (chasedouglas) wrote :

Since there is not any code in precise that depends on this bug fix, I have ensured the bug has been fixed by running the grail test suite against the SRU and verifying that the regression test, SingleTouchGestureTest.QuickTapEndsWithConstructionFinished, passes.

There have not been any regressions.

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 grail - 3.0.6-0ubuntu0.12.04.01

---------------
grail (3.0.6-0ubuntu0.12.04.01) precise-proposed; urgency=low

  * Update debian/watch file for project rename
  * New upstream microrelease, bug fixes only
    - Fix documentation of UGSubscriptionPropertyTapThreshold
    - Properly process gestures that end before composition time (LP: #1020315)
    - Don't expand gestures that have physically ended already (LP: #1023397)
    - Correct behaviour when a touch ends before ownership is gained
      for it (LP: #1026962)
    - Fix include path for correct compilation of some tests
    - Rename project to "Grail"
    - Remove ChangeLog
  * Removed grail v2 symbols
    - Renamed libgrail1 package to libgrail5 due to SONAME bump
  * Rename package and update packaging (lp: #1029643)
    - Added Conflicts and Replaces clauses for libgrail-dev and grail-tools
  * Remove no longer necessary build depends on mtdev and evemu
    - Added 01-remove-mtdev-dependency.patch and
      02-remove-evemu-dependency.patch
 -- Francis Ginther <email address hidden> Mon, 27 Aug 2012 14:18:32 -0500

Changed in grail (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.