qml pincharea doesn't work with opengl, works good otherwise

Bug #1007847 reported by Lorenzo
38
This bug affects 6 people
Affects Status Importance Assigned to Milestone
qt4-x11 (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Hi,

I found a strange behaviour with Nokia QT pincharea / gestures recognization.

I have a Intel i3(amd64) and a Touchscreen monitor workin with Enac multitouch-hid.

I have a ubuntu 12.04 with xorg, utouch and QT.

I need multitouch support (pinch recognization) in Qt Quick,
but I think that utouch-qml doesn't recognize pinch movement very well, so I'd like to go with the embedded
PinchArea in QT4.8 (http://qt-project.org/doc/qt-4.8/qml-pincharea-members.html)

.. and It work's very well, but..

when I launch my app with opengl enabled, (with qmlviewer -opengl for example), It's stops to work!

And I get many of these errors:

Got touch without getting TouchBegin for id 82
Got touch without getting TouchBegin for id 82
Got touch without getting TouchBegin for id 82
Got touch without getting TouchBegin for id 83
Got touch without getting TouchBegin for id 82
Got touch without getting TouchBegin for id 83
Got touch without getting TouchBegin for id 82
Got touch without getting TouchBegin for id 83
Got touch without getting TouchBegin for id 82
Got touch without getting TouchBegin for id 83
Got touch without getting TouchBegin for id 82
Got touch without getting TouchBegin for id 82

I make some reseach on google, and I found only some links from ubuntu
so I think there is something with Ubuntu implementation of QT4.8
(https://code.launchpad.net/~utouch-team/ubuntu/natty/qt4-x11/xi2.1/+merge/50952)

It's a ubuntu bug, or something with QT?
What can I do to resolve this?

Thanks

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: libqt4-declarative 4:4.8.1-0ubuntu4.1
Uname: Linux 3.4.0 x86_64
ApportVersion: 2.0.1-0ubuntu8
Architecture: amd64
Date: Sat Jun 2 17:27:31 2012
ProcEnviron:
 TERM=xterm
 LANG=it_IT.UTF-8
 SHELL=/bin/bash
SourcePackage: qt4-x11
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Lorenzo (info-jjcftv6wldnzq84cskygyvhqqb9qwjfcq0yfnwzcca0ux8ircw2a3om624q2ycdp941uw5) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in qt4-x11 (Ubuntu):
status: New → Confirmed
Revision history for this message
Vladimir Rutsky (rutsky) wrote :

My colleague and I debugged this issue and prepared patch for it.

If we undrestood correctly, bug was caused by code that searches widget that should get touch input. It checks with "childAt()" which child should get input, but doesn't pass event to root widget if no children found (as done in other event handlers, for example in "translateWheelEvent()").

This bug can be reproduced if you try to get touch input in root widget (native X11 window, e.g. call "show()" on Qt widget without parents).

Also, looks like when any widget calls "QWidget.winId()" directly or indirectly (e.g. by setting that this widget is rendering with OpenGL) widget being promoted to native, and too became root of input widgets hierarchy.

Attached patch was tested on our application and Qt demos on Ubuntu 13.04 and Ubuntu 13.10.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "fix_xinput2_for_root_windows.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Revision history for this message
Vladimir Rutsky (rutsky) wrote :

Forgot to mention: this bug is in XInput2 support in Qt4 intruduced in debian/patches/kubuntu_28_xi2.1.patch.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

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