Can't accept owned touch that has ended.

Bug #1025297 reported by Daniel d'Andrada
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
frame
Fix Released
High
Daniel d'Andrada
Precise
Fix Released
High
Francis Ginther

Bug Description

frame lib fails to forward the accept/reject command to xserver for an owned touch if it has already ended.

[Test Case]
Steps to reproduce the issue:
  1 - touch 1 begins and gets ownership
  2 - touch 1 ends
  3 - touch 2 begins and gets ownership
  4 - frame client accepts touch 1

An example of when this happens in normal usage is performing a three-touch tap on a touchscreen in unity where the first touch to hit the screen is over a menu item that opens a drop-down menu.

Expected outcome:
  Frame lib accepts the touch on the XInput backend. All further input events continue as normal.

Actual outcome:
  Nothing happens. Frame lib never accepts the touch. This causes the touchscreen to behave as though it has "locked up". Touches no longer cause emulated button press/release events, so it is hard to interact with the desktop.

[Regression Potential]
Small. Look for issues when using unity gestures on a trackpad or when using a touchscreen for any type of interactions in unity.

The actual code change involves removing logic that waits for a touch to end before it is accepted or rejected. This was required in the initial XInput multitouch protocol, but because unnecessary upon protocol finalization. Now, frame simply forwards accept and reject when they occur. This simplifies the code considerably.

A new regression test case has been added for this issue. All previous functional and regression test cases continue to pass.

Related branches

description: updated
Changed in utouch-frame:
assignee: nobody → Daniel d'Andrada (dandrader)
importance: Undecided → High
status: New → In Progress
description: updated
Changed in utouch-frame:
status: In Progress → Fix Committed
Changed in utouch-frame:
milestone: none → utouch-frame-2.2.4
status: Fix Committed → Fix Released
description: updated
description: updated
description: updated
Revision history for this message
Adam Conrad (adconrad) wrote : Please test proposed package

Hello Daniel, or anyone else affected,

Accepted frame into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/frame/2.2.4-0ubuntu0.12.04.1 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
Revision history for this message
Chase Douglas (chasedouglas) wrote :

I have used my touchscreen laptop to perform many three-touch taps in unity where one finger tries to hit a panel menu. I have not seen any issues anymore.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Scott Kitterman (kitterman) 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.

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.