← Back to team overview

dx-packages team mailing list archive

[Bug 1307701] Re: xserver mouse pointer emulation from touch breaks with QML app.

 

Launchpad has imported 8 comments from the remote bug at
https://bugs.freedesktop.org/show_bug.cgi?id=78345.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2014-05-06T15:52:38+00:00 Daniel d'Andrada wrote:

It happens on Ubuntu running on laptop with a touchscreen.

Scenario:

- There's a small window whose client called XISelectEvents on it for
the touchscreen slave device with
mask=XI_TouchBegin|XI_TouchUpdate|XI_TouchEnd (client[5290,
/usr/lib/x86_64-linux-gnu/qt5/bin/qmlscene qml-demo-minimal-client.qml]
in the logs).

- compiz and nautilus (which handles the desktop background) have
selections and/or grabs on the master device

Actions:

1- user taps the qmlscene window. Touch events are reported to both
qmlscene (from the slave device) and to compiz (from the master device).
compiz rejects the touch sequence and it's not delivered to anyone else

2- user now presses on the desktop background. TouchBegin,
TouchOwnership and further TouchUpdates are sent to compiz.

3- compiz rejects the touch sequence. TouchPuntToNextOwner fails to
emulate a pointer and pass it to nautilus as it still thinks that touch
1 is active. And as per pointer emulation rules, only the oldest active
touch is used for touch emulation. From the logs, the lines are:

"""
[  9223.917] (II)             TouchPuntToNextOwner: touch 2
[  9223.917] (II)               - Not all older pointer emulated touches have been seen yet. Oldest touch(client_id=1, active=1, pending_finish=0, emulate_pointer=1).
"""

4- user lifts his finger

So that scenario on touch 1 clearly left xserver in an inconsistent,
buggy, state.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1307701/comments/28

------------------------------------------------------------------------
On 2014-05-06T15:53:47+00:00 Daniel d'Andrada wrote:

Created attachment 98564
Xorg.log with detailed input event handling info

Reply at:
https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1307701/comments/29

------------------------------------------------------------------------
On 2014-05-06T15:54:25+00:00 Daniel d'Andrada wrote:

Created attachment 98565
A filtered Xorg.log with only the interesting parts

Reply at:
https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1307701/comments/30

------------------------------------------------------------------------
On 2014-05-06T15:54:42+00:00 Daniel d'Andrada wrote:

Created attachment 98566
output of xinput

Reply at:
https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1307701/comments/31

------------------------------------------------------------------------
On 2014-05-06T15:55:08+00:00 Daniel d'Andrada wrote:

Created attachment 98567
output of xwininfo showing the whole window tree

Reply at:
https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1307701/comments/32

------------------------------------------------------------------------
On 2014-05-06T15:57:35+00:00 Daniel d'Andrada wrote:

For reference, those were the steps I took when recording the log

- started lightdm (and threfore X)
- logged in
- launched the Qt app (qmlscene)
- tapped on the qmlscene window
- tapped on the desktop background (nautilus)
- closed the Qt app (qmlscene)
- stopped lightdm (and threfore X)

Reply at:
https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1307701/comments/33

------------------------------------------------------------------------
On 2014-05-07T15:09:20+00:00 Bugs-i wrote:

Created attachment 98629
xorg-integration-tests testcase

I think this reproduces the bug quite well, does this match your logs?

Reply at:
https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1307701/comments/39

------------------------------------------------------------------------
On 2014-05-07T15:56:41+00:00 Bugs-i wrote:

Comment on attachment 98629
xorg-integration-tests testcase

Woops, test is broken, the way it was written probably doesn't reproduce
this bug. Although I believe it probably matches the description of the
bug. Maybe missing something?

Reply at:
https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1307701/comments/40


** Changed in: xorg-server
       Status: Unknown => Confirmed

** Changed in: xorg-server
   Importance: Unknown => Medium

-- 
You received this bug notification because you are a member of DX
Packages, which is subscribed to unity in Ubuntu.
Matching subscriptions: dx-packages
https://bugs.launchpad.net/bugs/1307701

Title:
  xserver mouse pointer emulation from touch breaks with QML app.

Status in OEM Priority Project:
  New
Status in OEM Priority Project trusty series:
  Triaged
Status in X.Org X server:
  Confirmed
Status in “qtbase-opensource-src” package in Ubuntu:
  In Progress
Status in “unity” package in Ubuntu:
  Invalid
Status in “xorg-server” package in Ubuntu:
  In Progress

Bug description:
  When running an SDK app on the desktop, it's not possible to use the
  touchscreen to move windows, use the launcher, etc. The SDK app seems
  to consume all touchscreen events.

  To reproduce:
  1) On a desktop/laptop with a touchscreen (I am using a Dell XPS13), install 14.04 and check that the touchscreen works for moving windows
  2) Install the camera-app package from universe (I have 2.9.1+14.04.20140331-0ubuntu1)
  3) Launch the camera app
  4) Touch once inside the camera-app window
  5) Use the touchscreen to drag the camera-app window

  Expected results:
  You can move the camera-app window using the touchscreen

  Actual results:
  You cannot move the camera-app window, or perform any other touch tasks in unity, with the touchscreen

  This only affects touchscreen input - mouse/touchpad input is not
  affected

  This affects all apps written with the SDK (I tried camera-app,
  gallery-app, reminders-app). It's 100% reproducible.

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: unity 7.2.0+14.04.20140411-0ubuntu1
  ProcVersionSignature: Ubuntu 3.13.0-24.46-generic 3.13.9
  Uname: Linux 3.13.0-24-generic x86_64
  ApportVersion: 2.14.1-0ubuntu2
  Architecture: amd64
  CompizPlugins: [core,commands,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell]
  CurrentDesktop: Unity
  Date: Mon Apr 14 14:59:09 2014
  DistributionChannelDescriptor:
   # This is a distribution channel descriptor
   # For more information see http://wiki.ubuntu.com/DistributionChannelDescriptor
   canonical-oem-somerville-precise-amd64-20130203-1
  EcryptfsInUse: Yes
  InstallationDate: Installed on 2013-12-02 (132 days ago)
  InstallationMedia: Ubuntu 12.04 "Precise" - Build amd64 LIVE Binary 20130203-13:50
  SourcePackage: unity
  UpgradeStatus: Upgraded to trusty on 2014-02-12 (61 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/oem-priority/+bug/1307701/+subscriptions


References