Pointer screen crossings broken in Xorg server 1.13.0 (regression)
Bug #1068920 reported by
Greg Edwards
This bug affects 30 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
X.Org X server |
Fix Released
|
Medium
|
|||
xorg-server (Ubuntu) |
Fix Released
|
High
|
Canonical X.org | ||
Quantal |
Fix Released
|
High
|
Timo Aaltonen | ||
xorg-server-lts-quantal (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Quantal |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
[Impact]
The Xorg server in quantal suffers from the following upstream regression for zaphod setups:
https:/
[Test case]
When you move the mouse into the second screen, it gets trapped there. When it gets to the
edge where it should move back onto the first screen, it wraps around to the far edge of the
second screen again.
I've rebuilt xserver-xorg-core with the attached patch, which comes from the upstream
bug above, and confirmed it fixes this issue.
[Regression potential]
slim, this has been upstream since 1.13.1
Changed in xorg-server (Ubuntu): | |
assignee: | nobody → Canonical X.org (canonical-x) |
importance: | Undecided → High |
status: | Confirmed → Triaged |
tags: | added: quantal |
Changed in xorg-server: | |
importance: | Unknown → Medium |
status: | Unknown → In Progress |
Changed in xorg-server: | |
status: | In Progress → Fix Released |
Changed in xorg-server (Ubuntu): | |
status: | Fix Committed → Fix Released |
Changed in xorg-server-lts-quantal (Ubuntu): | |
status: | New → Incomplete |
status: | Incomplete → Invalid |
Changed in xorg-server-lts-quantal (Ubuntu Quantal): | |
status: | New → In Progress |
tags: |
added: verification-done removed: verification-needed |
To post a comment you must log in.
After upgrading from xserver 1.12.99.905 (the very last 1.13 RC) to xserver
1.13.0, screen crossings have ceased to work correctly, in a 2-screen Zaphod
setup. The pointer starts on the left screen (0); when attempting to move it
rightwards across the boundary to the right screen (1), instead of actually
changing screens, the pointer teleports all the way to the left of the screen
it's already on.
Bisection pinpoints the following:
bafbd99080be49a 17be97d2cc758fb e623369945 is the first bad commit 17be97d2cc758fb e623369945
commit bafbd99080be49a
Author: Peter Hutterer <email address hidden>
Date: Wed Aug 8 11:34:32 2012 +1000
dix: work around scaling issues during WarpPointer (#53037)
In WarpPointer calls, we get input in screen coordinates. They must be
scaled to device coordinates, and then back to screen coordinates for screen
crossing and root coordinates in events.
The rounding errors introduced (and clipping in core/XI 1.x events) can lead
to the actual position being different to the requested input coordinates.
e.g. 200 scales to 199.9999, truncated to 199 in the event.
Avoid this by simply overwriting the scaled screen coordinates with the
input coordinates for the POINTER_SCREEN case.
X.Org Bug 53037 <http:// bugs.freedeskto p.org/show_ bug.cgi? id=53037>
Signed-off-by: Peter Hutterer <email address hidden>
Reviewed-by: Keith Packard <email address hidden>
:040000 040000 f187f7ca2569a51 0c2f614cc75f9d5 e3f4b09b85 394c22bc5678107 7b7384804648db2 1c6354eca8 M dix
Reverting this commit on top of 1.13.0 resolves the issue.