Summary: | Pointer barrier leak with multiple monitors | ||
---|---|---|---|
Product: | xorg | Reporter: | Owen Taylor <otaylor> |
Component: | Server/General | Assignee: | Peter Hutterer <peter.hutterer> |
Status: | RESOLVED WONTFIX | QA Contact: | Xorg Project Team <xorg-team> |
Severity: | normal | ||
Priority: | medium | CC: | jstpierre, peter.hutterer |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | 2012BRB_Reviewed | ||
i915 platform: | i915 features: |
Description
Owen Taylor
2012-03-28 11:43:03 UTC
Reproduced, but the conditions are narrow. The barrier must align with the edge of a monitor and the movement _vector_ must not overlap with the barrier. e.g. if you're in that corner, moving by 1/1 will block, moving by 1/2 won't block. Cause is that the fixes code that calculates whether a barrier is blocking doesn't know about screen edges. So the picture the fixes code sees for a movement a to b is a X \X \ b Which is permitted since the movement goes just past the barrier. The RandR code to clamp to monitors sees this picture: +----------------+---------------------+ | | | | | | | | | | a | | +---------------\+ | \ | |b | +---------------------+ Which too is allowed since the destination exists in RandR space. The two operations are quite separated in the server, merging them is tricky. As a workaround for now, I suggest either extending the barrier to the bottom of the second monitor like this: +----------------+---------------------+ | | | | | | | | | | X | +----------------X | X | X | X---------------------+ or, alternatively, to create a horizontal barrier in that corner that shares the same endpoint with the vertical one. This is a mass change of bugs. Bugs assigned to me that haven't been updated in the last 3 years are closed as WONTFIX, because, well, let's at least be honest about it. Please do not re-open unless you have a really good reason to do so (e.g. you're fixing it yourself). If it hasn't been fixed in the last 3 years, it probably won't be fixed anytime soon either. Sorry. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.