FS#47650 - [qt5-base] mouse motion event compression not working

Attached to Project: Arch Linux
Opened by Jonathan Liu (net147) - Wednesday, 06 January 2016, 22:34 GMT
Last edited by Antonio Rojas (arojas) - Monday, 25 April 2016, 17:24 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Felix Yan (felixonmars)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:
In certain configurations, mouse motion event compression does not work properly. This results in mouse events being queued up and lagging in applications that block the main thread in response to mouse movements. For example, this occurs in ParaView when compiled for Qt 5 when the mouse is used to rotate the render view.

This is fixed upstream in Qt 5.6.

Additional info:
* qt5-base 5.5.1-7
* paraview-qt5 4.4.0-3

Steps to reproduce:
1. Start ParaView
2. Left-click drag to rotate the render view around quickly. You will notice the rotation of the 3D axes display lags and gets further behind as more mouse movements are queued.

Upstream patch:
http://code.qt.io/cgit/qt/qtbase.git/patch/?id=7edd10e6cc215c419c2cb492ffca997faa520c4c

The patch can be applied to Qt 5.5.1 to fix the issue.
This task depends upon

Closed by  Antonio Rojas (arojas)
Monday, 25 April 2016, 17:24 GMT
Reason for closing:  Fixed
Additional comments about closing:  qt5-base 5.6.0
Comment by Colin Heinzmann (DepthDeluxe) - Saturday, 09 January 2016, 02:39 GMT
Confirmed, applying the patch before build appears to resolve the problem. I have attached the QT PKGBUILD environemnt to build QT with the patch. I think it is probably worth adding the patchfile because QT appears to be on a pretty slow release cycle and this bug basically prevents you from using applications like ParaView.

I have added a file named "fs47650.patch" which is the upstream patch and I apply it during the prepare process. Nothing else has changed to the build folder.

Built and tested the new PKGBUILD and it appears to address the problem without creating other issues.
Comment by Felix Yan (felixonmars) - Saturday, 09 January 2016, 03:13 GMT
The patch looks complex, and appears to modify public interface. Since we do not support paraview in our repos, I would suggest to keep it a local change for now.
Comment by Jonathan Liu (net147) - Saturday, 09 January 2016, 03:42 GMT
The patch modifies the xcb plugin which is internal API rather than public API. The plugin is only ever loaded by Qt internals and shouldn't break applications linking to Qt.
Comment by Colin Heinzmann (DepthDeluxe) - Saturday, 09 January 2016, 04:31 GMT
Is anyone aware of other programs that are affected by this?
Comment by Jonathan Liu (net147) - Monday, 08 February 2016, 05:38 GMT
This affects kig as well (part of KDE):
1. Start kig
2. Maximize to cover the screen
3. Click the Line by Two Points (5th icon down on the left toolbar)
4. Move the mouse around the grid in circles 20 times really quickly and then stop. Notice it takes some time to catch up.

Loading...